ES6中for in和for of的用法
ES6中添加了一个Iterable类型
- 解决for-in遍历索引(属性名)的问题
- 解决了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
}
遍历时获得数组元素中的每一项属性值, 对于外界给添加的属性值则不会输出