for in 和for of

简单的看几个例子就能大致明白它们的区别

let arr = [1,2,3]

for(let a in arr){
  console.log("for in",a);
}
console.log('------------------');
for(let b of arr){
  console.log("for of",b);
}
//for in 0
//for in 1
//for in 2
//------------------
//for of 1
//for of 2
//for of 3

通过上面来遍历数组发现,结果不一样,for in 打印出的是下标index
for of 打印的是值
那么这就简单了,for in适用于对象,for of 适用于数组
这是因为for...in循环出的是key,for...of循环出的是value

如果用for of 遍历对象会报错,for of 遍历对象的迭代器的values。

知道了for of 的用法那么对于以后的数组的遍历可以不再使用以前的方法了

let arr = [1,2,3,4]

for ( var i =  0 ;i < arr.length;i++){
  console.log(i); //1,2,3,4
}

for(var i of arr){
  console.log(i);//1,2,3,4
}

你可能感兴趣的:(for in 和for of)