JS數(shù)組的常用10種方法詳解
數(shù)組在JavaScript中經(jīng)常使用,如何對(duì)數(shù)組進(jìn)行增刪改非常重要,下面為數(shù)組的常用方法:
在數(shù)組末尾插入元素
arr.push(value),在數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回?cái)?shù)組的新長(zhǎng)度。
例如:
let arr=[1,2,3,4,5]var longth=arr.push(6,7);console.log(arr, longth);
數(shù)組的arr的值變?yōu)閍rr[1,2,3,4,5,6,7];
length接收返回的是修改后數(shù)組的長(zhǎng)度7;
刪除數(shù)組末尾的元素
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--沒(méi)有返回值;
在數(shù)組的頭部插入元素
unshift(value);在數(shù)組的頭部添加一個(gè)或多個(gè)元素,并返回?cái)?shù)組的新長(zhǎng)度
let arr=[1,2,3,4,5]var length= unshift(0);console.log(arr,length);//arr的值為[0,1,2,3,4,5];length的值為更改后數(shù)組的長(zhǎng)度6;
刪除數(shù)組的頭部元素
shift();刪除索引為0的元素,并返回刪除的元素
let arr=[1,2,3,4,5]var delElement= unshift();console.log(arr, delElement);
arr的值為[2,3,4,5];delElement的值為被刪除的元素1;
數(shù)組和數(shù)組(或元素)的合并
concat()合并數(shù)組或元素,返回新的數(shù)組,原數(shù)組不會(huì)改變
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的值還是原來(lái)的[1,2,3,4,5];
concat()還可以復(fù)制一個(gè)新數(shù)組;
let copyArr=arr.concat();//copyArr的值和arr的相同
在數(shù)組中添加刪除或替換元素
splice();在任意位置添加或刪除元素,返回刪除或被替換的值,如果沒(méi)有被刪除或替換則返回空數(shù)組;
splice()方法會(huì)修改原數(shù)組的值;
只有一個(gè)值時(shí),從當(dāng)前位置刪除到數(shù)組末尾
let arr=[1,2,3,4,5];let num1=arr.splice(1)console.log(num1;arr)//num=[2,3,4,5];arr=[1];
有兩個(gè)值時(shí),第一個(gè)值為刪除的位置,第二個(gè)值為刪除的個(gè)數(shù);
let arr=[1,2,3,4,5];let num1=arr.splice(2,3)//刪除從索引值2開(kāi)始的3個(gè)元素console.log(num1;arr);// num1=[3,4,5],arr=[1,2]
有三個(gè)或者多個(gè)值時(shí),第一個(gè)值為插入元素的位置,第二個(gè)值為替換的個(gè)數(shù),后面的值都為插入的新元素;
let arr=[1,2,3,4,5];let num2=arr.splice(2,1,6,7,8);//從索引值2開(kāi)始替換掉1個(gè)元素,并且插入6,7,8
//如果第二個(gè)值為0,則不替換,直接插入6,7,8;console.log(num2;arr);//被替換的值num2=[3]; arr=[1,2,6,7,8,4,5]
截取復(fù)制數(shù)組指定位置的內(nèi)容
slice(開(kāi)始位置,結(jié)束位置);第二個(gè)參數(shù)不寫(xiě)默認(rèn)到尾部,只能從前往后截?。环祷氐闹禐榻厝〉降膬?nèi)容形成的新數(shù)組;
let copyArr=arr.slice(); // slice()或者slice(0)都可以復(fù)制數(shù)組;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()方法不會(huì)更改到原數(shù)組的值
指定字符連接字符串
join();數(shù)組的每個(gè)元素以指定的字符連接形成新字符串返回;
let arr=[1,2,3,4,5];
let newArr=arr.join()//默認(rèn)用逗號(hào)連接console.log(newArr);//newArr=1,2,3,4,5;
//如果連接符為空字符串,則會(huì)無(wú)縫連接console.log(arr.join(“”));//輸出為12345;
將數(shù)組進(jìn)行排序
sort()將數(shù)組進(jìn)行排序(升序),返回新數(shù)組,原數(shù)組也會(huì)改變;
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]
將數(shù)組進(jìn)行倒序
reverse();可以將數(shù)組進(jìn)行倒序,并返回新數(shù)組,原數(shù)組也會(huì)隨之改變;
let arr=[1,2,3,4,5];let newArr=arr. reverse();console.log(newArr,arr);//newArr=[5,4,3,2,1]; arr=[5,4,3,2,1];
綜上為數(shù)組的常用方法!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 通過(guò)CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫(huà)特效2. CSS3中Transition屬性詳解以及示例分享3. 阿里前端開(kāi)發(fā)中的規(guī)范要求4. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案5. 利用CSS3新特性創(chuàng)建透明邊框三角6. XML入門(mén)的常見(jiàn)問(wèn)題(二)7. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)8. IE6/IE7/IE8/IE9中tbody的innerHTML不能賦值的完美解決方案9. XML入門(mén)的常見(jiàn)問(wèn)題(一)10. 解析原生JS getComputedStyle
