javascript中数组常用方法总结
1、join()方法:
Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串。也可以指定可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。案例如下:
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()方法将数组中元素进行倒叙,返回倒叙的数组,它是在原来数组中进行倒叙,不产生的新数组,返回就是原来的数组,只不过里面元素已经进行倒叙重排了。案例如下:
var a=[1,2,3]; a.reverse();// =>a=[3,2,1];
3、sort()方法:
Array.sort()方法将数组中的元素排序,并返回排序好的数组。如果不传参数默认以字母表顺序进行排序。案例如下:
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()不会递归扁平化数组的数组。案例如下:
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()方法返回指定数组的一个片段或子数组。里面可以传一个参数或两个参数,参数可以为正也可以为负。案例如下:
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()可以传入三个参数,第一参数表示删除元素索引开始的地方,第二参数表示删除元素总数,第三参数,表示插入的元素,元素插入的位置就是删除元素开始的位置。案例如下:
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()方法就是向数组最前面添加元素,返回的是新数组的长度。案例如下:
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()方法是删除数组最前面的元素,返回是删除的元素。
var a=[5,6,7]; a.pop();// a=[5,6]; 返回值为 7 a.shift();// a=[6,7]; 返回值 5