数组常用方法汇总
push(); 向数组的末尾添加一个或更多元素,并返回新的长度。
unshift(); 向数组的开头添加一个或更多元素,并返回新的长度。
pop(); 删除并返回数组的最后一个元素
shift(); 删除并返回数组的第一个元素
concat(); 连接两个或多个数组,并返回结果
join(); 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
splice(); 能填三个参数,第一个坐标,第二个你要删除几个数字,第三个你要添加的数据
sort(); 对数组的元素进行排序
reverse() 颠倒数组
toString() 把数组转换成字符串,并返回结果
slice(); 填写下标,开始和结束两个参数。需要一个变量接收它。不包含后面
push
向数组的末尾添加元素
var arr = [0,1,2,3,4,5];
arr.push(6);
console.log(arr)
unshift
向数组的开头添加元素
var arr = [0,1,2,3,4,5];
arr.unshift(1);
pop
从数组中把最后一个元素删除,并返回这个元素的值
var arr = [0,1,2,3,4,5];
var arr2 = arr.pop();
console.log(arr); //删除后的数组 [0,1,2,3,4]
console.log(arr2); //删除返回来的数字 5
shift
从数组中把第一个元素删除,并返回这个元素的值
var arr = [0,1,2,3,4,5];
var arr2 = arr.shift();
console.log(arr); //删除后的数组 [1,2,3,4,5]
console.log(arr2); //删除返回来的数字 0
concat
连接两个或多个数组,并且返回一个新数组
var arrOne = [1,2,3];
var arrTwo = [4,5,6];
var success = arrOne.concat(arrTwo);
console.log(success); //新数组:[1,2,3,4,5,6]
join
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
var arr = [1,2,3,4,5,6];
var str = arr.join("/");
console.log(str); //返回以 / 分割的字符串:1/2/3/4/5/6
splice
从数组中添加/删除项目,然后返回被删除的项目
参1:添加/删除项目的位置,
参2:要删除的项目数量。如果设置为 0,则不会删除项目。
参3:可选。向数组添加的新项目
var arr = [1,2,3,4,5,6];
arr.splice(1,0,3); //在下标为1的位置,添加一个数字3,添加在下标为1的前面
console.log(arr); //[1,3,2,3,4,5,6]
sort
对数组的元素进行排序。参数可选。规定排序顺序。必须是函数。
说明:默认按照字符代码进行排序,也就是说,数字也是按照它们的字符串形式排序的。解决办法;函数
//升序排列
var arr = [6,8,4,5,21,1]
function compare_fn(value1, value2) {
return value1 - value2;
}
arr.sort(compare_fn);
console.log(arr)
//降序排列
function compare_fn2(value1, value2) {
return -(value1 - value2);
}
arr.sort(compare_fn2);
console.log(arr)
reverse
把一个数组颠倒
var arr = [1,2,3,4,5,6];
arr.reverse();
console.log(arr); //[6,5,4,3,2,1]
toString
把数组转换成字符串,并返回结果
var arr = [1,2,3,4,5,6];
var str = arr.toString();
console.log(str);
slice
可从已有的数组中返回选定的元素,两个参数,一个开始,一个结束,取前不取后
var arr = [0,1,2,3,4,5,6];
var newArr = arr.slice(2,5);
console.log(newArr); //[2,3,4]
copyWithin es6新增的数据方法
在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
- 参1:target(必选) 从该位置开始替换数据
- 参2:start(可选) 从该位置开始读取数据,默认为0,如果为负值,表示倒数
- 参3:end(可选) 到该位置前停止读取数据,默认是数组的长度。如果为负值,表示倒数
var arr = [1,2,3,4,5,6];
arr.copyWithin(0,2,3); // 替换下标为0的数字,读取你要替换的值,从下标为3停止读取
console.log(arr) //[3,2,3,4,5,6]
//这个是从下标0开始替换,从下标2开始读取,到下标5结束,期间的0,1,2会替换成 2,3,4
var arr = [0,1,2,3,4,5,6];
arr.copyWithin(0,2,5);
console.log(arr) //[2,3,4,3,4,5,6]```