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']  

    感谢廖大大  

      

     

  • 相关阅读:
    【转】人类的心理行为模式----《影响力》笔记
    c++类型形参的实参的受限转换
    如何确定网页和查询的相关性
    英语美文摘要
    特殊的字符数组
    c++中的虚函数
    [C#] 常用工具类——应用程序属性信息访问类
    c#常用工具类:文件和二进制转换
    [C#] 常用工具类——文件操作类
    Lamda和Linq语法对比详细
  • 原文地址:https://www.cnblogs.com/Anne3/p/7115540.html
Copyright © 2011-2022 走看看