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)。第二个参数为初始化值。一般用于递归操作。需要有返回值。