五个好用的数组api

237 阅读2分钟

var arr = [ {name:'aa',age:31},
{name:'aa',age:32},
{name:'aa',age:34},
{name:'aa',age:33}
] // filter() 作用: 过滤数组中元素,返回新数组存放过滤元素
// 参数 回调函数
// 形参 1 item 表示 数组元素
// 形参 2 index 表示 索引值
var res = arr.filter(function(item,index){

        // item.age = item.age+'123';
        //  是可以先修改元素,后筛选的
        
        return item.age>32;
        //   return 后  跟上条件表达式
        //    返回表达式的返回值
        //   res  接收满足条件的所有元素  ,并存放在数组中
    })
    console.log(res);
    

// some() 检查数组中是否存在满足条件的元素
// 满足则返回true 不满足为false

    var arr =[1,2,3,4,'蟹壳','蟹壳','蟹壳'];
    var res = arr.some(function(item){
        return item ==='蟹壳';
        //  返回值为判断条件
    })
    console.log(res);
    
    

var orders = [ {produce:'苹果',total:328,id:123},
{produce:'苹果',total:328,id:123},
{produce:'苹果',total:328,id:123},
{produce:'苹果',total:328,id:123},
{produce:'苹果',total:328,id:123},
];
// 形参1 初始值为number 类型 默认赋值oders[0]
// reduce(fun,param)参2作用:给形参1 sum赋初始值 改变默认
var res = orders.reduce(function(sum,item){
//数组中的每个元素执行一个由您提供的reducer函数(升序执行),
//将其结果汇总为单个返回值。
console.log(sum);
// 输出形参1可以看到每一步的运行结果
return sum+item.total;
},0);
console.log(res);

var arr = [ {name:'aa',age:31},
{name:'aa',age:32},
{name:'aa',age:34},
{name:'ba',age:33}
];
// 有遍历数组 返回新数组的作用
// 新数组中内容就是return 返回的内容
var newArr = arr.map(function(item,index){
return item;
// newArr中存放的是return 返回的内容
})
console.log(newArr);

var arr = [ {name:'aa',age:31},
{name:'aa',age:32},
{name:'aa',age:34},
{name:'ba',age:33}
];
// 如果声明一个变量把这段话赋值给 变量
// 打印这个变量 结果为 undefined, 无返回值
arr.forEach(function(item,index){
// 使用forEach遍历数组,参数为函数
// 可以代替平常使用的for循环语句
// console.log(index);
// 遍历索引值
// 遍历数组里的元素

//如果想打印在页面上
document.write( <li>${item}</li> ) })