遍历方法:for、for in、for of、forEach、map。
1、for循环用于循环执行一定次数的代码块,是一个js语句而不是方法,既可以用来循环数组也可以用来循环类数组的数据结构,可以通过break或者return来跳出整个循环。
2、for in 循环遍历数组下标或者对象的属性key的,可以通过break或者return来跳出整个循环。
3、for of 用来循环遍历数组单项值或者对象属性值的,可以通过break或者return来跳出整个循环。
4、forEach方法,对数组的每个元素执行一次传入的callback方法,无法中途退出循环,只能通过return来跳出某次循环
5、map方法,传入一个callback函数,返回新的数组,不改变原数组。
使用场景:
function multiplenum, n, time = 1000) {return new Promiseresolve, reject) => {setTimeout) => {resolvenum * n);}, time);})
}let n = 5;
let arr = [1, 2, 3, 4];// 同步循环。一瞬间执行完,1秒后同时打印出来
arr.forEachasync item) => {const res = await multipleitem, n);console.log'forEach', res);
});// 同上,一次性输出
arr.mapasync item => {let res = await multipleitem, n);console.log'map', res);
})// 每隔一秒输出一个
!async function ) {for let i = 0; i < arr.length; i++) {let res = await multiplearr[i],n);console.log'for',res);}
}));// 同上,异步循环。先执行第一个,有结果后再执行第二个,第二个有结果了再执行第三个...
!async function ) {for let i of arr) {const res = await multiplei, n);console.log'for...of', res);}
}));