美文网首页
Array方法

Array方法

作者: Liberty寒风 | 来源:发表于2017-07-08 14:35 被阅读0次

    sort()

    sort() 对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。
    如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身又接受两个参数,表示进行比较的两个元素。

    var arr = ['1','4','5','2'];
    
    var newArr = arr.sort(function(a, b) {
      return b - a;
    });
    console.log(newArr); //  ["5", "4", "2", "1"]
    
    var newArr = arr.sort(function(a, b) {
      return a - b;
    });
    console.log(newArr); //  ["1", "2", "4", "5"]
    
    var newArr = arr.sort(function(a, b) {//数组打乱
      return 0.5 - Math.random();
    });
    console.log(newArr); //  ["1", "2", "4", "5"]
    

    map()

    map()对数组的所有成员依次调用一个函数,根据函数返回结果返回一个新数组。
    接受一个函数作为参数。该函数调用时,map方法会将其传入三个参数,分别是当前成员、当前位置和数组本身

    var arr = [1,2,3];
    
    var newArr = arr.map(function(v){
      return v - 1;
    });
    console.log(newArr); // [0, 1, 2]
    

    filter()

    filter()参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。

    filter方法的参数函数可以接受三个参数,第一个参数是当前数组成员的值,这是必需的,后两个参数是可选的,分别是当前数组成员的位置和整个数组。

    var arr = [1,2,3];
    
    var newArr = arr.filter(function(v){
       return (v > 2);
    });
    console.log(newArr);  // [3];
    

    some()、every()

    some()用来判断数组成员是否符合某种条件。接受一个函数作为参数,所有数组成员依次执行该函数,返回一个布尔值。该函数可以根据返回值提前终止循环,跳出函数。

    reduce()、reduceRight()

    reduce()依次处理数组的每个成员,最终累计为一个值。从左到右处理(从第一个成员到最后一个成员)

    reduceRight()依次处理数组的每个成员,最终累计为一个值。从右到左(从最后一个成员到第一个成员)

    两个方法的第一个参数是一个函数,该函数可接收四个参数:

    1. 累积变量,默认为数组的第一个成员
    2. 当前变量,默认为数组的第二个成员
    3. 当前位置(从0开始)
    4. 原数组

    reduce()

    var arr = [1, 2, 3, 4, 5];
    var total = arr.reduce(function(x, y){
      console.log(x, y)
      return x + y;
    });
    console.log(total);
    
    // 1 2
    // 3 3
    // 6 4
    // 10 5
    //最后结果:15
    

    reduceRight()

    var arr = [1, 2, 3, 4, 5];
    var total = arr.reduceRight(function(x, y){
      console.log(x, y)
      return x + y;
    });
    console.log(total);
    
    // 5  4
    // 9  3
    // 12  2
    //  14  1
    // 15
    

    两个方法还可传入第二个参数,表示累积变量的初始值:

    相关文章

      网友评论

          本文标题:Array方法

          本文链接:https://www.haomeiwen.com/subject/puzdhxtx.html