6、【ES6】之数组的map、reduce操作
ES6之数组的map、reduce操作
类比:java中的lamdba表达式中的map和reduce
1、map():接收一个函数,将原数组中的所有元素用这个函数处理之后放入新的数组返回
let arr=[3,20,-15,5];
// arr = arr.map((item)=>{
// return item * 2;
// })
// arr = arr.map(item => item *2);
// console.log(arr);
2、reduce(callback,[initialValue])
reduce()为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素
接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,当前调用reduce的数组
initialValue :提供的默认初始值
callback:执行数组中每个值得函数,包含一下四个参数
1.previousValue(上一次调用回调的返回值,或者是提供的初始值)
2.currentValue(数组中当前被处理的元素)
3.index(数组下标的索引)
4.array(调用reduce的数组)
arr.reduce((a,b)=>{
console.log("处理后的值:"+a);
console.log("正在处理的值:"+b);
return a+b;
},50)