• 数组filter,find,map,some,every,reduce的用法简单梳理


    一、filter

      数组的过滤或筛选功能,根据筛选条件返回一个包含符合条件元素的新数组,不影响原数组,筛选条件写在一个函数中

    let arr= [
        {id:1,name: "a", age: 18},
        {id:2,name: "b", age: 15},
        {id:3,name: "c", age: 16},
        {id:4,name: "d", age: 17},
        {id:5,name: "e", age: 19}
    ]
    let newarr=arr.filter(function(item){
        return item.age>15
    })
    console.log(newarr)
    //[ {id: 1, name: "a", age: 18},
    {id: 3, name: "c", age: 16},
    {id: 4, name: "d", age: 17},
    {id: 5, name: "e", age: 19}]

    二、find

      返回通过函数内条件的第一个元素的

    let arr = [1,2,3];
    let arr1=arr.find(function (item) {
        return item>=2
    });
    console.log( arr5); //2

    三、map

      数组的映射,返回一个新数组,其值是通过函数处理过的值

     let arr = [2,3,5,6]
        let arr1 = arr.map(function(item){
            return item +1;
        })
        console.log(arr1)//[3,4,6,7]
     let arr = [2,3,5,6,7,8]
        let arr1 = arr.map(function(item){
            return item >5;
        })
        console.log(arr1)//[false,false,false,true,true,true]

    四、some

      some() 方法会依次执行数组的每个元素:

      如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
      如果没有满足条件的元素,则返回false

    let arr = [2, 4, 6, 8];
    let flag = arr.some(function(item) {
        return item > 5
    });
    console.log(flag); //true

    五、every

      every()检测数组中的所有元素是否都满足函数的中 的筛选条件

      都满足返回true否则返回false

    let arr = [2, 4, 6, 8];
    let flag = arr.every(function(item) {
        return item > 6
    });
    console.log(flag); //false

    六、reduce

      从左到右累加数组中的值,最后得到的仍是一个值

      

    let arr = [2,3,5,6,7,8,'a']
        let arr1 = arr.reduce(function(val,item,index,origin){
            console.log(val,item,index,origin)//val是累加值,item是当前值,index下标从1开始,arr[0]默认为第一次的累加值,origin是数组本身
            return val+item
        })
        console.log(arr1)// '31a'

      

  • 相关阅读:
    可视化工具连接mysql报1862【mysql修改登录密码】
    Java面试常被问到的题目+解答
    MyBatis启动:MapperStatement创建
    JavaScript Array(数组)对象
    分布式与集群的区别是什么?
    【触发器】MySQL触发器使用详解
    c++冒泡排序的模板函数设计
    c/c++性能优化--- cache优化的一点杂谈
    BZOJ 3181([Coci2012]BROJ-最小质因子为p的第k小素数)
    POJ 1026 Cipher
  • 原文地址:https://www.cnblogs.com/ybhome/p/11792669.html
Copyright © 2020-2023  润新知