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():将数组转成字符串,并用带号做分隔符;

原文地址:https://www.cnblogs.com/siyecao2010/p/10136502.html