for in 和 for of区别(原创)

admin2024-01-27 17:39:17

for in 和 for of 都可以循环数组。

区别:

for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。

for in 可以遍历对象,for of 不能遍历对象,只能遍历带有iterator接口的,例如Set,Map,String,Array

总结:

for in适合遍历对象,for of适合遍历数组。for in遍历的是数组的索引,对象的属性,以及原型链上的属性。

for...in 和 for...of 都是 JavaScript 中的循环结构,但它们的作用略有不同:

for...in 循环用于枚举对象的属性名称,它会遍历对象的可枚举属性(包括继承来的属性),并将属性名称赋值给循环变量。例如:

let arr = [1, 2, 3];
for (let num of arr) {
  console.log(num); // 输出 1、2、3
}

另一个区别是,for...in 循环遍历的是对象属性的名称,而不是属性的值,因此循环变量的类型是字符串;而 for...of 循环则是遍历对象的属性值,循环变量的类型是对象属性所属的值的类型。 总之,for...in 适用于枚举对象属性,而 for...of 适用于遍历可迭代对象。