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);});