数组api

155 阅读2分钟

数组的api

forEacsh()

var arr=[
        {name:'ss',age:32},
        {name:'ss',age:31},
        {name:'ss',age:35},
        {name:'ss',age:36}
    ];
    //forEacsh() 作用:遍历数组 无返回值
    //参数 是函数
    //回参一:数组元素
    //回参二:索引值
    var res = arr.forEach(function(item,index){
        console.log('索引值=====',index);
        console.log('遍历元素======',item);
        //这里可以在某种情况下 代替for循环内容
    });
    console.log(res);
    

map()

var arr=[
        {name:'ss',age:32},
        {name:'ss',age:31},
        {name:'ss',age:35},
        {name:'ss',age:36}
    ];
//map
    //1.有遍历数组 返回新数组
    //新数组中内容就是return返回的内容
    //与过滤的区别,过滤是根据条件的筛选,返回表达式返回值
    var newArr = arr.map(function(item,index){
        //itme数组元素 index 索引值
        console.log(item,index);
        //newwArr 存放return返回的内容
        
        return item;
    })
    console.log(newArr);
    
    //2.修改数据,重组数据,原来的arr没变化
    var arr1 = [1,2,3,4,5];
    var newArr1=arr1.map(function(item){
     
        return item*2;
    });
    console.log(newArr1);
    console.log(arr1)




reduce()

    // reduce()没有初始值
    // 可以reduce 实现累加等运算,并返回运算结果
    var arr = [1,2,3,5]
    var res =arr.reduce(function(accumulator,currentValue,currentIndex,aourcArray){
        //accumulator 记录累计运算结果
        //currentValue 数组索引的元素 这个元素是运算的操作数
        //currentIndex 索引值 不是从0开始的
        //aourcArray 原素组
        console.log(accumulator,currentValue,currentIndex,aourcArray);
        return accumulator+currentValue
        console.log(res);//1+2+3+5
    })
    var res1 = arr.reduce(function(a,c){return a*c}) //1*2*3*5
        console.log(res1)
        
        
         var orders=[
            {produce:'苹果',total:328,id:123},
            {produce:'苹果',total:325,id:124},
            {produce:'苹果',total:3222,id:125},
            {produce:'苹果',total:3282,id:126},
            {produce:'苹果',total:3228,id:127}
        ]
        //注意:回参一 初始值为number 类型 默认赋值oders[0]
        //resdce(fun,parm)参二作用:给回参一 sum 赋初始值 改变默认oders[0]

        var res = orders.reduce(function(sum,item){
            //sum = 0
            console.log(sum);
            return sum+item.total
        },0);
        console.log(res);

some()

//some()检查数组中是否存在满足条件的元素,满足true不满足返回false
  var produce = [
        {name:'aa'},
        {name:'bb'}
    ]
    var res1 = produce.some(function(item){
        return item.name === 'cc'
    })
    console.log(res1);