javascript数组常用方法汇总

1、join()方法: 

Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串。也可以指定可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。案例如下:

1
2
3
4
var a=[1,2,3];
a.join();//=> "1,2,3" 因为没有指定分隔符,默认为逗号。
a.join("+");//=> "1+2+3" 指定分隔符为+
a.join("-");//=> "1-2-3" 指定分隔符为-

Array.join()方法是String.split()方法的逆操作,后者是将字符串分割成若干块创建一个数组。 

2、 reverse()方法: 

Array.reverse()方法将数组中元素进行倒叙,返回倒叙的数组,它是在原来数组中进行倒叙,不产生的新数组,返回就是原来的数组,只不过里面元素已经进行倒叙重排了。案例如下:

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

3、sort()方法: 

Array.sort()方法将数组中的元素排序,并返回排序好的数组。如果不传参数默认以字母表顺序进行排序。案例如下: 

1
2
3
4
var a=[4,3,1,2]
a.sort();// =>[1,2,3,4]
a.sort(function(a,b){return a-b;});//=>[1,2,3,4] 降序排列
a.sort(function(a,b){return b-a;});//=>[4,3,2,1] 升序排列

      这里使用匿名函数很方便,因为函数只使用一次就没有必要给函数命名了。 

4、concat(): 

Array.concat()方法创建并返回一个新数组,新数组中的元素包含调用数组的元素和concat()中传入参数的值,传入的参数可以是单独数值,也可以是数组,concat()不会递归扁平化数组的数组,意思就是说两层以下的就会是第5种表示方法了。案例如下:

1
2
3
4
5
var a=[5,6,7];
a.concat(1,2);// =>[5,6,7,1,2];
a.concat([1,2]);// =>[5,6,7,1,2];
a.concat(3,[1,2]);// =>[5,6,7,3,1,2];
a.concat([1,[2,3]]);// =>[5,6,7,1,[2,3]];

5、slice()方法: 

Array.slice()方法返回指定数组的一个片段或子数组。里面可以传一个参数或两个参数,参数可以为正也可以为负。案例如下: 

1
2
3
4
5
var a=[5,6,7,3,1,2];
a.slice(1)// =>[6,7,3,1,2] 数字参数指的是数组的索引,一个参数表示开始的位置,不传第二个参数默认为数组中元素个数。
 a.slice(1,3)// =>[6,7] 第二参数是数组索引结束位置,(不包含) index>=1&&index<3;
a.slice(1,-3)// =>[6,7] 当参数中有负数时候,可以进行转换正数,方法就是-3+6(数组里元素个数)
 a.slice(-3,-2)// =>[3] 同理如上。

6、splice()方法: 

Array.splice()方法是在数组中插入或删除的通用方法。它会修改调用的数组,splice()可以传入三个参数,第一参数表示删除元素索引开始的地方,第二参数表示删除元素总数,第三参数,表示插入的元素,元素插入的位置就是删除元素开始的位置。案例如下:

1
2
3
4
var a=[5,6,7,3,1,2];
a.splice(2);// =>[7,3,1,2] a=[5,6];//传入一个参数表示从索引开始删除之后所有的元素。
a.splice(2,2);// =>[7,3]   a=[5,6,1,2];第二个参数表示删除元素的个数。
a.splice(2,2,'a','b','c'); //=>[7,3] a=[5,6,'a','b','c',1,2];

7、push()和 unshift()方法: 

Array.push()方法就是向数组最后面添加元素,它返回的是新数组的长度;Array.unshift()方法就是向数组最前面添加元素,返回的是新数组的长度。案例如下:

1
2
3
var a=[1,2,3];
a.push(4,5);// a=[1,2,3,4,5]; 返回 值为5;
a.unshift(4,5);// a=[4,5,1,2,3]; 返回 值为5;☆传的参数可以一个,也可以多个。

8、pop()和 shift()方法: 

Array.pop()方法就是删除数组中最后一个元素,它返回是删除的元素;Array.shift()方法是删除数组最前面的元素,返回是删除的元素。

1
2
3
var a=[5,6,7]; 
a.pop();// a=[5,6]; 返回值为 7 
a.shift();// a=[6,7]; 返回值 5
其中需要注意的一点是:
join,concat,slice,filter,map这三个方法是返回新的数组,而原数组是没有被改变的.
pop push shift unshift splice reverse sort这些方法不是返回新的数组,他们都改变了原数组的值的
 
原文地址:https://www.cnblogs.com/fireporsche/p/6226299.html