join()
数组转字符串
console.log(arr);//[1,2,3,4]
console.log(arr.join(''));//1234
console.log(arr.join(','));//1,2,3,4
console.log(new Array(3).join('d'));//dd
push()
向末尾添加一个或多个、元素,返回新的长度
arr.push(2,1,2,3,1,2);//10
console.log(arr.push(2,1,2,3,1,2));//16
console.log(arr);//[1,2,3,4,2]
pop()
删除最后一个元素,并返回删除的这个元素
arr.pop()//2
console.log(arr.pop());//1
console.log(arr);//[1,2,3,4,2,1,2,3,1]
shift()
删除第一个与元素,并返回这个元素
arr.shift()
console.log(arr.shift());//1
console.log(arr);
unshift()
向开头添加一个或多个元素,返回新的长度
arr.unshift(1);
console.log(arr.unshift(1));//14
console.log(arr);
数组去重+排序 set+sort
set去重
console.log(new Set(arr))//{1,3,2,4}
arr=[...new Set(arr)];//[1,3,2,4]
sort()
对数组元素进行排序
function sortNumber(a,b){
console.log(a,b); return a - b
};
console.log(arr.sort(sortNumber));//[1,2,3,4]
var arrh=[1,100,5,20];
console.log(arrh.sort()); //[1,100, 20, 5] (原数组改变) 没有按照数值的大小对数字进行排序,是按照字符编码的顺序进行排序,要实现这一点,就必须使用一个排序函数:
//升序:
console.log(arrh.sort(sortNumber)); //[1, 5, 20, 100]
console.log(arrh); //[1, 5, 20, 100] (原数组改变)
//降序
function sortfun(a,b){return b-a};
console.log(arrh.sort(sortfun));//[100,20,5,1]
// reverse() 反转数组
console.log(arrh.reverse());//[1,5,20,100]
// concat() 连接两个或多个数组,合成一个数组
let arrAll=arr.concat(arrh).concat(arrh);
console.log(arrAll)
// slice(start,end) 数组截取
// start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
// end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arrj= [1,4,6,8,12];
var arrCopy1 = arrj.slice(1);
var arrCopy2 = arrj.slice(0,4);
var arrCopy3 = arrj.slice(1,-2);
var arrCopy4 = arrj.slice(-5,4);
var arrCopy5 = arrj.slice(-4,-1)
console.log(arrCopy1); // [4, 6, 8, 12]
console.log(arrCopy2); // [1, 4, 6, 8]
console.log(arrCopy3); // [4, 6]
console.log(arrCopy4); // [1, 4, 6, 8]
console.log(arrCopy5); // [4, 6, 8]
console.log(arrj); // [1, 4, 6, 8, 12] (原数组未改变)
// splice(index,howmany,item1,....,itemx)向数组中添加或闪出去元素
// index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
// howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
// item1, ..., itemX:可选。向数组添加的新项目。
var arrl=[1,2,3,4,5];
// 删除一个
arrl.splice(2,1);
console.log(arrl);//[1,2,4,5]
//删除多个
arrl.splice(2,2);
console.log(arrl);//[1,2]
// 添加一个
arrl.splice(2,0,1);
console.log(arrl);//[1,2,1]
//添加多个
arrl.splice(2,0,1,2,3);
console.log(arrl);//[1,2,1,2,3,1]
//替换一个
arrl.splice(2,1,'u')
console.log(arrl);//[1,2,'u',2,3,1]
//替换多个
arrl.splice(2,3,'a')
console.log(arrl);//[1,2,'a',1]