for与for…in的区别:

1、相同点:for 能遍历有固定长度和固定次数的数组等。for...in 也能遍历数组,但也能遍历对象。

for(var k in 数组名) //k=key(下标)

2、不同点:for 是根据数据的长度来执行次数,empty(空)也会执行。而for..in则会根据数据内容来执行次数,empty会跳过不执行。

遍历数组或对象时优先使用for...in

1.for each只做遍历,无返回值,打印是undifined,仅仅只是做遍历功能;
2.map也可以用于数组遍历,可以返回一个数组,但是一定要return;
//for of 遍历数组,不能遍历对象
for let k of arr.keys() //获得键;
for let v of arr.values()//获得值;
for let[k,v] of arr.entries//同时获得键和值;
//for of 遍历对象
for (let k of object.keys(obj))//获得对象的键;
for (let v of object.values(obj)) //获得对象的值;
for (let v of object.entries(obj)) //获得对象的键和值;