map
通常map函数接收2个参数,第一个参数为生成新数组的函数callback,第二个参数为this指向callback.而callback中通常包含3个参数,第一个为正在处理的项item,第二个为该项的索引index,第三项为数组本身。return不能跳出循环,使用break、continue会报错。
const arr = [1, 2, 3, 4, 5];
// map不会改变原数组,但是会返回新数组
const newArr = arr.map((item, i) => ++item);
console.log(arr) // [1,2,3,4,5]
console.log(newArr) //[2,3,4,5,6]
forEach
使用方法与上述相同,但是没有返回值。使用return 可以跳出本轮循环
const arr = [1,2,3,4,5]
// // forEach 没有返回值
// 1 0
// 2 1
// 3 2
// 4 3
// 5 4
arr.forEach((item,index)=>{
console.log(item,index)
});
for in
for (let item in arr){
// "0"
// "1"
// "2"
// "3"
// "4"
console.log(item)
}
for of
for (let item of arr){
// 0
// 1
// 2
// 3
// 4
console.log(item)
}
注意:forin 输出的是字符串而forof输出的是数字