• JS基础——数组API之数组操作(filter、map、some、every、sort)


    var arr = [1,2,3,4];
     
    forEach
    arr.forEach((item,index,arr) => {
        console.log(item) //结果为1,2,3,4
    })

    filter

    //filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。
    var c=arr.filter((item,index,arr) => {
    return item > 2 //新数组为[3,4] 过滤满足条件的项返回新数组
    })

    map

    var d=arr.map((item,index,arr)=>{
    return item*3;//遍历每一项进行操作后返回
    })

    some 

    var e=arr.some((item,index,arr)=>{
    return item>3;//只要满足就返回true,终止循环
    });

    every 

    var f=arr.every((item,index,arr) => {
    return item > 0 //结果为false
    })
    //遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
    console.log(c,d,e);

    sort 

    对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1
    // 看上去正常的结果: ['Google', 'Apple', 'Microsoft'].sort();
    // ['Apple', 'Google', 'Microsoft'];
    // apple排在了最后: ['Google', 'apple', 'Microsoft'].sort();
    // ['Google', 'Microsoft", 'apple']
    // 无法理解的结果: [10, 20, 1, 2].sort();
    // [1, 10, 2, 20]
    根据相应的ASCII码进行排序,而小写字母a的ASCII码在大写字母之后
     
    不过sort也是一个高阶函数,可以通过自定义,通过接收一个比较函数来实现自定义排序规则
    var arr = ['Google', 'apple', 'Microsoft'];
    arr.sort(function (s1, s2) {
        x1 = s1.toUpperCase();
        x2 = s2.toUpperCase();
        if (x1 < x2) {
            return -1; // x < y
        }
        if (x1 > x2) {
            return 1; // x > y
        }
        return 0; // x == y
    }); // ['apple', 'Google', 'Microsoft']
    

      

  • 相关阅读:
    zookeeper安装(linux)
    rabbitmq安装(linux)遇到 很多坑
    关于mysql数据库连接异常处理
    git放弃修改&放弃增加文件
    git使用常见问题
    base64字符串转化成图片
    Block小结
    关闭selinux
    Ctrl快捷键和vim快捷键
    正则表达式扩展正则
  • 原文地址:https://www.cnblogs.com/fuGuy/p/9208870.html
Copyright © 2020-2023  润新知