之前我一直都不太明白for in 和for of 的区别,感觉都一样用。
今天拜读了廖雪峰的js,决定把他的js撸一遍
for in 和for of 都用于遍历
但是 for in 会把附加的内容给遍历输出
const a= ['1','2','3']
a.name='hello'
console.log(a)// [ '1', '2', '3', name: 'hello' ]
for(letiina) {
console.log(i+'='+a[i])
}
输出:
0=1
1=2
2=3
name=hello
console.log(a.length)//3
你看,添加额外属性以后,能遍历出来,但是length却还是3
而 for of 只是遍历自己定义时的内容
而我最喜欢的还是foreach,注意点:有三个参数:item,index,array
set 和 foreach 结合使用,set没有索引index,所以只有2个参数,可以如下写法
const b=newSet(['A','B','C'])
b.forEach(function(element, sameElemnt, set){
console.log(element)// A
console.log(set)// Set { 'A', 'B', 'C' }
})
map和foreach 结合使用,有三个参数哦
constc=newMap([[1,'1'], [2,'2'], [3,'3']])
c.forEach(function(value,key,map) {
console.log(key)
console.log(value)
console.log(map)
})
网友评论