前言:
數組常用方法整理
1、在數組末尾插入元素
arr.push(value)橡伞,在數組的末尾添加一個或多個元素盒揉,并返回數組的新長度。
例如:
let arr=[1,2,3,4,5]
var longth=arr.push(6,7);
console.log(arr, longth);
數組的arr的值變?yōu)閍rr[1,2,3,4,5,6,7];
length接收返回的是修改后數組的長度7;
2兑徘、刪除數組末尾的元素
arr.pop()刪除索引值最大的元素,并返回被刪除的元素刚盈。
let arr=[1,2,3,4,5]
var delElement=arr.pop();
console.log(arr, delElement);
arr的值為[1,2,3,4] ,delElement的值為5
arr.pop()的與arr.length--的效果一樣,但arr.length--沒有返回值挂脑;
3藕漱、在數組的頭部插入元素
unshift(value);在數組的頭部添加一個或多個元素,并返回數組的新長度
let arr=[1,2,3,4,5]
var length= unshift(0);
console.log(arr,length);//arr的值為[0,1,2,3,4,5];length的值為更改后數組的長度6;
4崭闲、刪除數組的頭部元素
shift();刪除索引為0的元素肋联,并返回刪除的元素
let arr=[1,2,3,4,5]
var delElement= unshift();
console.log(arr, delElement);
arr的值為[2,3,4,5];delElement的值為被刪除的元素1;
5刁俭、數組和數組(或元素)的合并
concat()合并數組或元素橄仍,返回新的數組,原數組不會改變
let arr=[1,2,3,4,5]
let newArr=arr.concat([6,7,8],9,10);
console.log(newArr,arr);
newArr的值為[1,2,3,4,5,6,7,8,9,10];
arr的值還是原來的[1,2,3,4,5];
concat()還可以復制一個新數組;
let copyArr=arr.concat();//copyArr的值和arr的相同
6、在數組中添加刪除或替換元素
splice();在任意位置添加或刪除元素,返回刪除或被替換的值,如果沒有被刪除或替換則返回空數組;
splice()方法會修改原數組的值;
只有一個值時侮繁,從當前位置刪除到數組末尾
let arr=[1,2,3,4,5]虑粥;
let num1=arr.splice(1)
console.log(num1;arr)//num=[2,3,4,5];arr=[1];
有兩個值時,第一個值為刪除的位置宪哩,第二個值為刪除的個數;
let arr=[1,2,3,4,5]娩贷;
let num1=arr.splice(2,3)//刪除從索引值2開始的3個元素
console.log(num1;arr);// num1=[3,4,5],arr=[1,2]
有三個或者多個值時,第一個值為插入元素的位置斋射,第二個值為替換的個數育勺,后面的值都為插入的新元素;
let arr=[1,2,3,4,5]罗岖;
let num2=arr.splice(2,1,6,7,8);//從索引值2開始替換掉1個元素,并且插入6,7,8
//如果第二個值為0腹躁,則不替換桑包,直接插入6,7,8;
console.log(num2;arr);//被替換的值num2=[3]; arr=[1,2,6,7,8,4,5]
7、截取復制數組指定位置的內容
slice(開始位置纺非,結束位置)哑了;第二個參數不寫默認到尾部,只能從前往后截取烧颖;返回的值為截取到的內容形成的新數組;
let copyArr=arr.slice(); // slice()或者slice(0)都可以復制數組弱左;
let arr=[1,2,3,4,5];
let newArr=arr.slice(1,3);//截取索引1到索引3(不包括3)的值;
console.log(newArr,arr)炕淮;//newArr=[2,3];arr=[1,2,3,4,5];
slice()方法不會更改到原數組的值
8拆火、指定字符連接字符串
? ? ?join();數組的每個元素以指定的字符連接形成新字符串返回;
let arr=[1,2,3,4,5];
let newArr=arr.join()//默認用逗號連接
console.log(newArr);//newArr=1,2,3,4,5;
//如果連接符為空字符串,則會無縫連接
console.log(arr.join(“”));//輸出為12345涂圆;
9们镜、將數組進行排序
? ? ? sort()將數組進行排序(升序),返回新數組,原數組也會改變;
let arr=[2,3,5,1,4];
let newArr=arr.sort();
console.log(newArr,arr)润歉;//newArr=[1,2,3,4,5]; arr r=[1,2,3,4,5]
10模狭、將數組進行倒序
? ? ? ? reverse();可以將數組進行倒序踩衩,并返回新數組
let arr=[1,2,3,4,5];
let newArr=arr. reverse();
console.log(newArr,arr)嚼鹉;//newArr=[5,4,3,2,1];