zoukankan      html  css  js  c++  java
  • 高阶函数—map、reduce、sort

    1.一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

    2.map函数是处理数组的函数,可以将数组一个个传入函数中进行处理并将结果返回一个新的数组

    var arr=[1,2,3];
    function add2(x){
      return x+2;
    }
    arr.map(add2);//[3, 4, 5]
    

    3.reduce函数,也是处理数组的函数,函数接收两个参数并将处理结果与下一位数据进行运算,就像累加效果一样

    var arr=[1,2,3];
    arr.reduce(function(x,y){return x+y});//6
    

    4.sort()方法是按照ASCII码进行比较,x<y,返回-1,x>y,返回1,x==y返回0。sort并不关注比较的过程只根据返回的结果来排序,可以传入比较函数来自定义比较方法

    var arr=[1,10,100,2,3];
    arr.sort();//[1, 10, 100, 2, 3]
    var arr=[1,10,100,2,3];
    arr.sort(function(x,y){
       if(x>y){
         return 1;
    }else if(x<y){
          return -1;
    }else{
       return 0;
    }
    })//[1, 2, 3, 10, 100]
    

    以前一直以为可以直接用sort()方法来排序数字数组呢

     5.sort方法排序时,会有大小写之分,小写字母a的ASCII码在大写字母之后,要比较带字母的字符串时,直接忽略大小的方法超棒

    var arr = ['Google', 'apple', 'Microsoft'];
    arr.sort(function (s1, s2) {
        x1 = s1.toUpperCase();
        x2 = s2.toUpperCase();
        if (x1 < x2) {
            return -1;
        }
        if (x1 > x2) {
            return 1;
        }
        return 0;
    }); // ['apple', 'Google', 'Microsoft']  

    感谢廖大大  

      

     

  • 相关阅读:
    链表(1) --- 单链表
    .Net性能调优-MemoryPool
    .Net性能调优-WeakReference
    .Net性能调优-ArrayPool
    .Net Core 中的选项Options
    .Net Core配置Configuration源码研究
    .Net中异步任务的取消和监控
    nginx 实现jira反向代理
    k8s-harbor拉取镜像权限问题-imagePullSecrets
    Studio 3T 重置试用日期
  • 原文地址:https://www.cnblogs.com/Anne3/p/7115540.html
Copyright © 2011-2022 走看看