JS数组循环遍历方法forEach、map、

366 阅读1分钟

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

// 	0
// 	1
// 	2
// 	3
// 	4
	console.log(item)
}

注意:forin 输出的是字符串而forof输出的是数字