JS数组常用方法总结

1、给数组添加元素

arr.push( value1, value2, ..., valueN );     // 末尾添加元素,返回值:新数组长度

arr.unshift( value1, value2, ..., valueN );  // 开头添加元素,返回值:新数组长度

2、给数组删除元素

arr.pop();    // 末尾删除1个元素,返回值:被删的元素(如果数组为空,返回值 undefined)

arr.shift();  // 开头删除1个元素,返回值:被删的元素(如果数组为空,返回值 undefined)

【小应用】:轮播图原理

arr.push( arr.shift() );    // 把一个数组里第一个元素拿到最后一位

arr.unshift( arr.pop() );   // 把一个数组里最后一个元素拿到第一位

3、任意位置 删除、添加多个元素

arr.splice( start, count, elem1, elem2, ..., elemN );
  • 参数 start 指定删除/添加的起始位置,负数代表从右开始
  • 参数 count 指定删除项目个数,如果count=0,代表不删除
  • 参数 elem1, elem2, ..., elemN 指定添加的元素

删除:arr.splice(0,2);  代表从数组下标0开始删除2个元素,返回值:被删的元素

替换:arr.splice(0,2,'yy and zz');  代表删除前2个元素且替换成'yy and zz',返回值:被删的元素

添加:arr.splice(1,0,'yy and zz');  代表在下标1位置上添加1个元素'yy and zz',返回值:无(因为该方法只返回被删的元素)

【区分】:与 arr.slice() 方法区别

splice()方法修改原数组,slice()方法不修改原数组

4、截取数组

arr.slice(start,end);  // 参数可正可负,负数代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的数组

5、连接数组

arr1.concat(arr2,arr3);  // 参数可以是value,也可以是arr,返回值:一个新数组

【区分】:与 arr1.push(arr2) 的区别 ↓

在push()方法中,arr2作为1个元素被放进arr1里面去了,而不是将两个数组进行连接。并且返回值是返回新数组长度,而不是新数组。

6、数组排序

arr.sort();  // 默认按元素的unicode编码值进行排序

【引申】:数字的排序

arr.sort(function(a,b){
  return a-b;
});

【再引申】

var arr = [ '345px' , '23px' , '10px' , '1000px' ];
arr.sort(function(a,b){
  return parseInt(a)-parseInt(b);
});

7、数组颠倒顺序排序

arr.reverce();

【引申】:字符串的颠倒顺序排序 ↓

例如 var = 'abcdef'; 想让它倒过来 'fedcba'

字符串方法里面没有颠倒顺序排序的方法,但可以将字符串先转成数组,排序后再转回字符串,处理如下:

str.split('').reverse().join('');
原文地址:https://www.cnblogs.com/YYvam1288/p/6979471.html