ES6数组处理(map,reduce,filter,forEach)
下面代码都是在浏览器控制台直接运行的,返回有一个undefined是因为(console.log)没有返回值,如果没有返回值就返回undefined
1.map(映射)
let arr = [1,2,4];
let arrs = arr.map(function(item){return item*2;});
console.log(arrs);
2,reduce(汇总)
建议先看图
let arr = [1,2,10,23];
let result = arr.reduce(function(temp,item,index){
if(index != arr.length-1 ){
console.log(temp+item);
return temp+item;
}else{
console.log((temp+item)/arr.length);
return (temp+item)/arr.length;
}
});
打印的3=1+2,13=3+10;9=(13+23)/4
3.filter(过滤器)
let arr = [1,2,10,23];
let result1 = arr.filter(item=>{if(item>9){return true;}else{return false;}});
let result2 =arr.filter((item)=>item>9);
console.log(result1);
console.log(result2);

let array1 = [
{title:'clothes',price:67},
{title:'skin', price:12},
{title:'atom', price:34},
{title:'iop', price:45},
];
let result4 = array1.filter(item=>{return item.price>44;});
console.log(result4);
4.forEach(迭代)
let arr = [1,2,10,23];
arr.forEach((item,index)=>{console.log(index+1,item);});