JS 數(shù)組的常用方法歸納


JS 數(shù)組的常用方法歸納

改變原數(shù)組的方法

shift()把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值,如果數(shù)組是空的,那么 shift() 方法將不進(jìn)行任何操作,返回 undefined 值。請注意,該方法不創(chuàng)建新數(shù)組,而是直接修改原有的 arrayObject。該方法會(huì)改變數(shù)組的長度。

unshift()?可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長度。unshift() 方法將把它的參數(shù)插入 arrayObject 的頭部,并將已經(jīng)存在的元素順次地移到較高的下標(biāo)處,以便留出空間。該方法的第一個(gè)參數(shù)將成為數(shù)組的新元素 0,如果還有第二個(gè)參數(shù),它將成為新的元素 1,以此類推。請注意,unshift() 方法不創(chuàng)建新的創(chuàng)建,而是直接修改原有的數(shù)組。該方法會(huì)改變數(shù)組的長度。

pop()刪除并返回?cái)?shù)組的最后一個(gè)元素,該方法將刪除 arrayObject 的最后一個(gè)元素,把數(shù)組長度減 1,并且返回它刪除的元素的值。如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組,并返回 undefined 值。

push()?可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長度。push() 方法可把它的參數(shù)順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創(chuàng)建一個(gè)新的數(shù)組。push() 方法和 pop() 方法使用數(shù)組提供的先進(jìn)后出棧的功能。該方法會(huì)改變數(shù)組的長度。

reverse()?用于顛倒數(shù)組中元素的順序。該方法會(huì)改變原來的數(shù)組,而不會(huì)創(chuàng)建新的數(shù)組。

sort()?用于對數(shù)組的元素進(jìn)行排序。如果調(diào)用該方法時(shí)沒有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。

?? ??? 如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對順序的數(shù)字。比較?? ??? ???函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:

?? ??? ??? ??? ?若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。

?? ??? ??? ??? ?若 a 等于 b,則返回 0。

?? ??? ??? ??? ?若 a 大于 b,則返回一個(gè)大于 0 的值。

? ? ? ?7.splice()?向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。?該方法會(huì)改變原始數(shù)組。splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對數(shù)組進(jìn)行修改

???splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。??

arrayObject.splice(index,howmany,item1,.....,itemX)? ?

參數(shù)描述

index必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。

howmany必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。

item1, ..., itemX可選。向數(shù)組添加的新項(xiàng)目。

返回值

類型描述

Array包含被刪除項(xiàng)目的新數(shù)組,如果有的話。

不改變原數(shù)組的方法

concat()?連接兩個(gè)或多個(gè)數(shù)組,不改變現(xiàn)有數(shù)組,返回新數(shù)組,添加的是數(shù)組中的元素

join(",")?把數(shù)組中的所有元素放入一個(gè)字符串,通過‘,’分隔符進(jìn)行分隔,返回字符串

slice(start,end)從已有的數(shù)組中返回選定的元素,從start開始選取,?(若是負(fù)數(shù),從尾部開始算起的位置:-2指倒數(shù)第二個(gè)元素)到end(不包括該元素),該方法不修改數(shù)組,返回一個(gè)字?jǐn)?shù)組

map(function(currentValue,index,arr),thisValue)按照原始數(shù)組元素順序依次處理元素,返回新數(shù)組,數(shù)組中的元素是原數(shù)組元素調(diào)用函數(shù)處理后的值,不會(huì)檢測空數(shù)組,不改變原數(shù)組。currentValue (必須,當(dāng)前元素的值)index(可選,索引值)arr(可選,當(dāng)前元素屬于數(shù)組對象),thisValue(可選,執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù)(this))

forEach()?調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù),空數(shù)組不執(zhí)行回調(diào)函數(shù),參數(shù)同上

filter()?創(chuàng)建一個(gè)新數(shù)組,新數(shù)組中的元素是通過檢查指定數(shù)組中符合條件的所有元素,不對空數(shù)組檢測,不改變原數(shù)組,參數(shù)同上

some()檢測數(shù)組中的元素是否滿足指定條件(函數(shù)提供),依次執(zhí)行數(shù)組的每個(gè)元素,如果有一個(gè)滿足,返回true,剩余元素不再執(zhí)行檢測,如果沒有滿足條件的元素返回false(不檢測空數(shù)組,不改變原數(shù)組)參數(shù)同上

every()檢測數(shù)組所有元素是否都符合指定條件(函數(shù)提供),使用指定函數(shù)檢測數(shù)組中的所有元素,如果有一個(gè)元素不滿足返回false剩余不再檢測,如果所有都滿足,返回true(不檢測空數(shù)組,不改變原數(shù)組)參數(shù)同上

其他

indexOf(item,start)返回?cái)?shù)組中某個(gè)指定的元素位置,該方法將從頭到尾檢索數(shù)組,看是否含有對應(yīng)元素,在start(可選)開始檢索(或從頭沒有start),如果找到一個(gè)item(必須) 返回item的第一次出現(xiàn)的位置。開始位置索引是0,沒找到返回-1? (若想查找字符串最后出現(xiàn)的位置用lastIndexOf()方法。

includes(searchElement,fromIndex)用來判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,是 返回true,否 返回false

searchElement (必須)需要查找的元素值,fromIndex(可選),開始查找的索引

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容