前端老生

ES6中for in和for of的用法

ES6中添加了一个Iterable类型

 

  1. 解决for-in遍历索引属性名)的问题
  2. 解决了map、set无法用下标遍历的问题

for-in在数组中的使用: 遍历属性名

var arr = [1,2,3];

arr.name = 4;

for(let i in arr){

    console.log(i); // 0, 1, 2, name

}

输出name,是因为for-in本身遍历的是属性名,而数组本身是一个对象,属性名即下标,所以遍历的就是下标,也自然输出了一个属性名name

for-of在数组中的使用: 遍历属性值 

var arr = [1,2,3];

arr.name = 4;

for(let i of arr){

    console.log(i); // 1, 2, 3

}

遍历时获得数组元素中的每一项属性值, 对于外界给添加的属性值则不会输出