for…of:通常性能比for…in更好,因为它不需要遍历原型链上的属性。 示例代码演示两者的不同用法: // for...of 遍历数组constarr = [1,2,3,4];for(constelementofarr) {console.log(element);// 输出数组的每个元素}// for...in 遍历对象的属性constobj = {a:1,b:2,c:3};for(constkeyinobj) ...
因此建议是使用for-of遍历数组,因为for-of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name。 区别总结: 简单总结就是,for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。 for-in总是得到对象的key或数组、字符串的下标。 for-of总是得到对象的value或数组、字符串的值,另外还可以...
因此如果我们在实际场景中使用的时候一般处理对象肯定是要使用for in来处理,但是像是如果遇到字符串,map等等这些本身带有迭代器的类型我们就可以交给for of 来处理,具体场景具体说明。 同时这也应证了上面所说的使用for in 中打印的是key值,因此我们要想获取属性值要通过obj4[key]。 同样使用for in我们也可以处理...
for-in 循环可以用于遍历数组的索引,相当于遍历数组的属性;而 for-of 循环不支持遍历对象的属性,只能用于遍历可迭代对象的元素。因此,如果需要遍历数组的索引,可以使用 for-in 循环;如果需要遍历其他类型的可迭代对象,应该使用 for-of 循环。 总结 本文介绍了 JavaScript 中 for-in 循环和 for-of 循环的用法、特...
在javascript中,for in是ES5标准,遍历key. for of是ES6标准,遍历value.本文从Array,Object和string三个维度来讲解 for...in和for...of的区别。 Array 1,使用for-in可以遍历数组,但是会存在以下问题: .index索引为字符串型数字(注意,非数字),不能直接进行几何运算。
一、for/in 1、可以用来遍历对象和数组:遍历对象是key, 遍历数组是index(字符串类型) 2、for in会遍历对象或数组除Symbol类型以外的所有可枚举属性,包括原型。如果不想遍历原型方法和属性的话,可以在循环内部判断一下,使用hasOwnProperty()方法可以判断某属性是不是该对象的实例属性 ...
对于普通的对象,它并不适用,因为普通对象不是可迭代的。 javascriptCopy code const arr = [1, 2, 3]; for (let value of arr) { console.log(value); // 输出:1, 2, 3 } 总的来说,for...in 用于迭代对象的属性,而 for...of 用于迭代可迭代对象的值。
log(i); // 输出结果 obj is not iterable}for(var i ofObject.keys(obj)){ console.log(i); // 输出结果 id name}for...in 循环的是可迭代对象key的值,而for...of 循环的是可迭代对象value的值,由此可见在面对普通对象的时候推荐使用for...in;如果就是喜欢用for of 的话就需要使用Object.k...
对于需要进行遍历操作的数据而言,我们经常会使用到两种方法: for in和for of,虽然它们两者都可以用于遍历,而这两种方法却有很大的不同点 1.for...in...遍历 1.使用for...in...遍历数组,会遍历到数组所有的可枚举属性,包括原型。 2.for...in语句可以任意顺序迭代对象的可枚举属性。(有时候遍历出的顺序是...
总之,for–in 是用来循环带有字符串key的对象的方法。for-of 循环 JavaScript 6 里引入了一种新的循环方法,它就是 for-of 循环,它既比传统的 for 循环简洁,同时弥补了 forEach 和 for-in 循环的短板。我们看一下它的 for-of 的语法:for (var value of myArray) { console.log(value);} for-of...