for...in

for...in - MDN
for...in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性。

语法

for (variable in object)
  statement
  • variable
    在每次迭代时,variable会被赋值为不同的属性名。
  • object
    非Symbol类型的可枚举属性被迭代的对象。

数组迭代和 for...in

for...in不应该用于迭代一个关注索引顺序的 Array。

注意事项

let arr = ['a','b','c'];
for(let i in arr){
  console.log(`index typeof:`,typeof i);
  //> index typeof: string
}

对于数组使用for...in进行迭代时,其索引类型iString
若要使用数组索引,应使用for。