for in & for of &foreach总结

之前我一直都不太明白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)

})

你可能感兴趣的:(for in & for of &foreach总结)