• javascrip 对数组的操作方法


    1、join():将数组中所有元素都转化成字符串并连接在一起,返回最后生成的字符串;

       与split()方法相反,split()是将字符串分割成若干块来创建一个数组;

    var a = [1,2,3];
    a.join();    //=> 1,2,3
    a.join("");   //=> 123
    a.join(" ");  // => 1 2 3
    a.join("-");   //=>  1-2-3

    2、reverse():将数组中的元素颠倒顺序,返回逆序的数组;

    var a = [1,2,3,6,5];  
    a.reverse();  //[5,6,3,2,1]

     3、sort():将数组中的元素排序并返回排序后的数组,

      会改变原数组的值,如果想不改变原数,则需要深度拷贝数组:var b = a.concat([])

      默认是根据字母排序,如果要根据数值排序,需要使用

      function(a,b){

        return a-b;  //使用升序

        return b-a;  //使用降序

       }, ;

    var a = [1,2,33,6,5];
    a.sort();  //=> [1, 2, 33, 5, 6]
    a.sort(function (a,b) {  //=> sortA: [1, 2, 5, 6, 33]
          return a-b;
    })
    
    a.sort(function (a,b) {  //=>  backSortA: [33, 6, 5, 2, 1]
          return b-a;
    })

    4、concat():创建并返回一个新数组,如果参数是数组,则连接的是数组的元素,并不是数组本身;concat()并不会改变数组本身,也可用于深拷贝数组;

    var b = [1,2,22,33,5];
    b.concat(4,5);  //=> [1, 2, 22, 33, 5, 4, 5]
    b.concat([4,5]);  //=> [1, 2, 22, 33, 5, 4, 5]
    b.concat([4,[5,6]]);  //=> [1, 2, 22, 33, 5, 4, [5,6]]

      对数组b进行排序,但不改变原来的数组:

    var b = [1,2,22,33,5];
    var sortB = b.concat([]);
    sortB.sort(function (a,b) {  //=> sortB:[1, 2, 5, 22, 33];  b: [1, 2, 22, 33, 5]
        return a-b;
    })

    5、slice():获取指定的数组元素;包含第一个指定元素的位置,到指定元素的前一个位置,就是[a,b),包含a的位置,不包含b的位置;下标位置从0开始,负数是指倒数第几个;

    var c = [0,1,2,3,4,5];
    c.slice(0,3);   //=> [0, 1, 2]
    c.slice(3);  //=>  [3, 4, 5]
    c.slice(0,-2);  //=> [0, 1, 2, 3]

    6、splice():删除或插入数组;前两个参数指定了需要删除的数组,紧随其后的任意个数的参数指定了需要插入到数组中的元素,从第一个参数指定的位置开始插入;

      splice()方法返回值是数组,并会改变原数组,下标从0开始;

    var d = [0,1,2,3,4,5];
    var result = d.splice(1,3);   //=>从下标为1的数组元素删除3个元素 result: [1, 2, 3]; d: [0, 4, 5]
    var d = [0,1,2,3,4,5];
    var result = d.splice(3); //=> 删除最后三个数组元素 result: [3,4,5], d: [0,1,2]
    
    
    var d = [0,1,2,3,4,5];
    var result = d.splice(2,2,'a','b'); //=>从第2个位置删除两个元素,并从第2个位置插入两个元素 result: [2, 3], d: [0, 1, "a", "b", 4, 5]
    
    

    7、push():向数组的尾部添加一个或多个元素;

    8、pop():与push()相反,删除数组的最后一个元素;

    9、unshift():向数组的头部添加一个或多个元素;

    10、shift():删除数组的头部元素;

    11、toString():将数组转成字符串,并用带号做分隔符;

  • 相关阅读:
    ASP.NET在禁用视图状态的情况下仍然使用ViewState对象【转】
    Atcoder Regular Contest 061 D Card Game for Three(组合数学)
    Solution 「CERC 2016」「洛谷 P3684」机棚障碍
    Solution 「CF 599E」Sandy and Nuts
    Solution 「洛谷 P6021」洪水
    Solution 「ARC 058C」「AT 1975」Iroha and Haiku
    Solution 「POI 2011」「洛谷 P3527」METMeteors
    Solution 「CF 1023F」Mobile Phone Network
    Solution 「SP 6779」GSS7
    Solution 「LOCAL」大括号树
  • 原文地址:https://www.cnblogs.com/siyecao2010/p/10136502.html
Copyright © 2020-2023  润新知