数组方法
concat 数组拼接,不改变原数组
连接两个数组或更多数组,并返回结果。
arr.concat(arr1,arr2,...)
let arr=[1,2,3];
console.log(arr.concat([4,5,6],[7,8,9]));//[1,2,3,4,5,6,7,8,9]
join 数组拼接成字符串, 不改变原数组
arr.join()
let arr=[1,2,3];
console.log(arr.join('-'));//1-2-3
reverse 颠倒数组元素顺序, 改变原数组
arr.reverse()
let arr=[1,2,3];
arr.reverse();
console.log(arr);//[3,2,1]
sort 数组排序,返回新数组,改变原数组
arr.sort()
let arr=[12,2,53];
arr.sort();
console.log(arr);//[2,12,53],默认升序排序
arr.sort((a,b)=>b-a);
console.log(arr);//[53,12,2],降序
pop、push、shift、unshift 数组添加或删除数据,改变原数组
pop删除数组的最后一个元素,返回删除的值。
push往数组末尾添加一个或更多元素,返回新的长度。
shift删除数组的第一个元素,返回删除的值。
unshift向数组开头添加一个或更多元素,返回新的长度。
let arr = [1,3,4,5];
arr.push("5",6);
console.log(arr);//[1,3,4,5,"5",6];
arr.pop();
console.log(arr);//[1,3,4,5,"5"];
arr.unshift(8);
console.log(arr);//[8,1,3,4,5,"5"];
arr.shift();
console.log(arr);//[1,3,4,5,"5"];
splice 删除元素,并向数组添加新元素,返回被删除元素的数组,改变原数组
arr.splice(index,howmany,item,...)
index 指定添加或删除开始的索引;
howmany 指定删除的length,设为0时,表示不删除任何元素(必填)
item 及之后的参数,表示要添加的数据(可选)
let arr = [1,3,4,5];
arr.splice(0,0,"2");//arr.unshift("2");
console.log(arr);//["2", 1, 3, 4, 5]
arr.splice(0,1);//arr.shift();
console.log(arr);//[1, 3, 4, 5]
arr.splice(arr.length,0,"a");//arr.push("a");
console.log(arr);//[1, 3, 4, 5, "a"]
arr.splice(arr.length-1,1);//arr.pop();
console.log(arr);//[1, 3, 4, 5]
slice 从数组中截取选定元素,不改变原数组
slice(start,end)
start 指定从哪里开始选择,使用负数从数组的末尾进行选择。
end指定结束选择的位置,如果省略,将选择从开始位置到末尾的所有元素。使用负数从数组末尾进行选择。
let arr = [1,2,3,4,5,6,7,8];
console.log(arr.slice(1,6));//[2, 3, 4, 5, 6] [1,6]
console.log(arr.slice(1)); //[2, 3, 4, 5, 6, 7, 8] [1,arr.length-1]
console.log(arr.slice());//[1, 2, 3, 4, 5, 6, 7, 8] [0,arr.length-1]
console.log(arr.slice(-2));//[7, 8]
console.log(arr.slice(6, 1));//[]