js数组循环用map好还是for

JavaScript013

js数组循环用map好还是for,第1张

看你需不需要返回值,map返回的是新数组,比如你想让数组成员*2

var a = [1, 2, 3, 4, 5]

var b = a.map(function (fn) {

return fn * 2

})

console.log(b)//Array(5) [2, 4, 6, 8, 10]

而for则是遍历每个数组成员

map,forEach,reduce是html5的javascript数组中提供的新的API接口。

其中

1.map是遍历数组,通过回调函数中的计算返回一个和原数组项对应的结果,回调函数中需要return 如果不写则return undefined,新的数组无原数组的引用。

2. forEach是单纯的对数组进行遍历,和for类似,回调函数中对每一项的处理根据自己的意愿处理,没有返回值。即使回调中写return 结果也是undefined。

3. reduce 是对数组进行遍历,它第一个参数为回调函数a,回调函数a接受两个参数,第一个参数为当前结果(source),第二个参数为当前遍历的执行数据(item)。第二个参数为初始化值。一般用于递归操作。需要有返回值。