for in ,for of和forEach的区别

简介: for in ,for of和forEach的区别

for in

    1循环遍历的值都是数据结构的键值,它可以循环数组也能循环对象.,

          2.它遍历数元素的时候,还会遍历其他新增的属性,

   3.在有些情况下,还会以随机顺序遍历数组

   4.所以他最好用来遍历对象,



for of

   1.可以避免for in循环中的陷阱

   2.不同于forEach,它可以使用return,break,continue来终止循环

   3.它不仅仅支持数组的遍历,同时也适用于很多类似数组的对象

   4.还可遍历字符串

   5.并不能处理原有的而原生对象

   6.他不能遍历一个普通的对象,只有在对象中部署了 Symbol.iterator 属性, 才具有 iterator接                   口可以使用 for of循环

   7.如果不部署Symbol.iterator 属性,想遍历普通对象,需要联合Object.keys()来使用



forEach

   1.他不能使用return,break,continue来终止循环,

   2.在回调函数内不管传入任何形式 的参数,都会返回undifind

   3.在回调函数内部有三个参数,item,index,arr分别代表,当前项,当前项的下标,数组本身.

   4.它会对数组的每一个元素执行一次提供的函数,不改变原数组,没有返回值undifind

     代码展示

let arr=[1,1,2,3,6,5,4]
arr.forEach((item,index,arr)=>{
console.log(item)
})
相关文章
|
2月前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
1月前
|
算法
|
2月前
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
3月前
|
索引
foreach,for in和for of的区别
foreach,for in和for of的区别
46 1
|
6月前
|
索引
for和foreach谁更快,为什么
for和foreach谁更快,为什么
219 0
|
6月前
|
JavaScript 前端开发
foreach、for in和for of的区别?
foreach、for in和for of的区别?
49 0
|
6月前
|
存储 索引
for 和 foreach 谁更快
for 和 foreach 谁更快
106 1
|
6月前
|
前端开发 JavaScript
你不知道的forEach函数
你不知道的forEach函数
|
JavaScript 前端开发 索引
foreach、for in 和for of的区别?
foreach、for in 和for of的区别?