总之,如果你想遍历数组或其他可迭代对象的值,使用for…of;如果你想遍历对象的属性,使用for…in。 for…of 遍历数组的陷阱: 当使用for...of循环来遍历数组时,我们通常是为了遍历数组的元素,而不是索引。然而,在使用for...of循环时,有一些常见陷阱需要避免,特别是关于循环索引和遍历顺序的问题。下面是如何正确使用...
of循环 for (let value of arr) { console.log(value); } // x 20 {a: 1, b: 2} 所以说,作用于数组的 for-in 循环除了遍历数组元素以外,还会遍历自定义属性。for...of 循环不会循环对象的 key ,只会循环出数组的 value,因此 for...of 不能循环遍历普通对象,对普通对象的属性遍历推荐使用 for....
for-in 循环可以用于遍历数组的索引,相当于遍历数组的属性;而 for-of 循环不支持遍历对象的属性,只能用于遍历可迭代对象的元素。因此,如果需要遍历数组的索引,可以使用 for-in 循环;如果需要遍历其他类型的可迭代对象,应该使用 for-of 循环。 总结 本文介绍了 JavaScript 中 for-in 循环和 for-of 循环的用法、特...
不同点 1、for-in语句按原始插入顺序迭代对象的可枚举属性。for-in将继承链中的所有对象属性重复,因此需要更多的时间。 2、for-of语句只经历可迭代对象的数据。 使用实例 for-in: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 varobj={name:'test',color:'red',day:'sunday',number:5}for(varkeyin...
对于初学者,我们或许只知道无论是for of还是for in他们都有一个功能那就是遍历,至于具体的细节或许我们不是很清楚,那么接下来我们就来详细的区分一下for of 和for in他们之间的不同点和相同点。 首先介绍一下for of 👟👟 for of 是在es6中新加入的东西,如果说for of 给我们最直观的体现就是使用for of...
【面试题】对JavaScript中for in与for of的理解 for in MDN描述: for...in语句以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。 在没有深度了解过for in的作用前,我只停留在它能够遍历对象键和数组下标的的层面上,那现在就来探究什么是一个对象中的Symbol类型键(ES6之后新加的)和可...
在javascript中,for in是ES5标准,遍历key. for of是ES6标准,遍历value.本文从Array,Object和string三个维度来讲解 for...in和for...of的区别。 Array 1,使用for-in可以遍历数组,但是会存在以下问题: .index索引为字符串型数字(注意,非数字),不能直接进行几何运算。 .遍历顺序有可能不是按照实际数组的内部顺序...
for of不可以遍历普通对象,想要遍历对象的属性,可以用for in循环, 或内建的Object.keys()方法 for...of与for...in的区别 无论是for...in还是for...of语句都是迭代一些东西。它们之间的主要区别在于它们的迭代方式。 for...in语句以任意顺序迭代对象的可枚举属性。
不建议使用for in 遍历数组,因为输出的顺序是不固定的。 如果迭代的对象的变量值是null或者undefined, for in不执行循环体,建议在使用for in循环之前,先检查该对象的值是不是null或者undefined for of 1.for…of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调...
不难看出,for in循环遍历的是数组的键值(索引),而for of循环遍历的是数组的值 区别③:for in 遍历定义属性,for of不会 代码语言:javascript 代码运行次数:0 运行 AI代码解释 vararr=['nick','freddy','mike','james'];arr.name="数组";for(variinarr){console.log(i+': '+arr[i]);}console.log(...