JavaScript之Array常見(jiàn)的方法詳解
不改變?cè)瓟?shù)組的方法
1、concat
用于合并兩個(gè)或多個(gè)數(shù)組。此方法不會(huì)更改現(xiàn)有數(shù)組,而是返回一個(gè)新數(shù)組。
語(yǔ)法:
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
參數(shù):
ValueN
(可選):
數(shù)組和/或值,將被合并到一個(gè)新的數(shù)組中。如果省略了所有 valueN 參數(shù),則 concat 會(huì)返回調(diào)用此方法的現(xiàn)存數(shù)組的一個(gè)淺拷貝。
返回值:
一個(gè)新的Array
2、join
將一個(gè)數(shù)組(或一個(gè)類數(shù)組對(duì)象)的所有元素連接成一個(gè)字符串并返回這個(gè)字符串。如果數(shù)組只有一個(gè)項(xiàng)目,那么將返回該項(xiàng)目而不使用分隔符。
語(yǔ)法:
arr.join([separator])
參數(shù):
separator?
(可選):
指定一個(gè)字符串來(lái)分隔數(shù)組的每個(gè)元素。如果需要,將分隔符轉(zhuǎn)換為字符串。如果缺省該值,數(shù)組元素用逗號(hào)(,)分隔。如果separator是空字符串(""),則所有元素之間都沒(méi)有任何字符。
返回值:
一個(gè)所有數(shù)組元素連接的字符串。如果 arr.length 為0,則返回空字符串。
注意:
如果一個(gè)元素為 undefined 或 null,它會(huì)被轉(zhuǎn)換為空字符串。
3、slice
返回一個(gè)新的數(shù)組對(duì)象,這一對(duì)象是一個(gè)由 begin 和 end 決定的原數(shù)組的淺拷貝(包括 begin,不包括end)。原始數(shù)組不會(huì)被改變。
語(yǔ)法:
arr.slice([begin[, end]])
參數(shù):
begin
(可選):提取起始處的索引(從 0 開始),從該索引開始提取原數(shù)組元素。如果該參數(shù)為負(fù)數(shù),則表示從原數(shù)組中的倒數(shù)第幾個(gè)元素開始提取,slice(-2) 表示提取原數(shù)組中的倒數(shù)第二個(gè)元素到最后一個(gè)元素(包含最后一個(gè)元素)。如果省略 begin,則 slice 從索引 0 開始。如果 begin 超出原數(shù)組的索引范圍,則會(huì)返回空數(shù)組。
end
(可選):提取終止處的索引(從 0 開始),在該索引處結(jié)束提取原數(shù)組元素。slice 會(huì)提取原數(shù)組中索引從 begin 到 end 的所有元素(包含 begin,但不包含 end)。如果該參數(shù)為負(fù)數(shù), 則它表示在原數(shù)組中的倒數(shù)第幾個(gè)元素結(jié)束抽取。如果 end 被省略,則 slice 會(huì)一直提取到原數(shù)組末尾。如果 end 大于數(shù)組的長(zhǎng)度,slice 也會(huì)一直提取到原數(shù)組末尾。
返回值:
一個(gè)含有被提取元素的新數(shù)組。
4、toString
返回一個(gè)字符串,表示指定的數(shù)組及其元素。
語(yǔ)法:
arr.toString()
返回值:
一個(gè)表示指定的數(shù)組及其元素的字符串。
改變?cè)瓟?shù)組的方法
1、pop
從數(shù)組中刪除最后一個(gè)元素,并返回該元素的值。
語(yǔ)法:
arr.pop()
返回值
從數(shù)組中刪除的元素(當(dāng)數(shù)組為空時(shí)返回undefined)。
2、push
將一個(gè)或多個(gè)元素添加到數(shù)組的末尾,并返回該數(shù)組的新長(zhǎng)度。
語(yǔ)法:
arr.push(element1, ..., elementN)
參數(shù):
elementN
:被添加到數(shù)組末尾的元素。
返回值:
當(dāng)調(diào)用該方法時(shí),新的 length 屬性值將被返回。
3、shift
從數(shù)組中刪除第一個(gè)元素,并返回該元素的值。此方法更改數(shù)組的長(zhǎng)度。
語(yǔ)法:
arr.shift()
返回值:
從數(shù)組中刪除的元素; 如果數(shù)組為空則返回 undefined 。
4、unshift
將一個(gè)或多個(gè)元素添加到數(shù)組的開頭,并返回該數(shù)組的新長(zhǎng)度(該方法修改原有數(shù)組)。
語(yǔ)法:
arr.unshift(element1, ..., elementN)
參數(shù):
elementN:要添加到數(shù)組開頭的元素或多個(gè)元素。
返回值:
當(dāng)一個(gè)對(duì)象調(diào)用該方法時(shí),返回其 length 屬性值。
5、splice
通過(guò)刪除或替換現(xiàn)有元素或者原地添加新的元素來(lái)修改數(shù)組,并以數(shù)組形式返回被修改的內(nèi)容。此方法會(huì)改變?cè)瓟?shù)組。
語(yǔ)法:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) **參數(shù):**
start?
:指定修改的開始位置(從0計(jì)數(shù))。如果超出了數(shù)組的長(zhǎng)度,則從數(shù)組末尾開始添加內(nèi)容;如果是負(fù)值,則表示從數(shù)組末位開始的第幾位(從-1計(jì)數(shù),這意味著-n是倒數(shù)第n個(gè)元素并且等價(jià)于array.length-n);如果負(fù)數(shù)的絕對(duì)值大于數(shù)組的長(zhǎng)度,則表示開始位置為第0位。
deleteCount
(可選):整數(shù),表示要移除的數(shù)組元素的個(gè)數(shù)。如果 deleteCount 大于 start 之后的元素的總數(shù),則從 start 后面的元素都將被刪除(含第 start 位)。如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是說(shuō),如果它大于或者等于start之后的所有元素的數(shù)量),那么start之后數(shù)組的所有元素都會(huì)被刪除。如果 deleteCount 是 0 或者負(fù)數(shù),則不移除元素。這種情況下,至少應(yīng)添加一個(gè)新元素。
item1, item2,
…?(可選):要添加進(jìn)數(shù)組的元素,從start 位置開始。如果不指定,則 splice() 將只刪除數(shù)組元素。
返回值:
由被刪除的元素組成的一個(gè)數(shù)組。如果只刪除了一個(gè)元素,則返回只包含一個(gè)元素的數(shù)組。如果沒(méi)有刪除元素,則返回空數(shù)組。
6、reverse
將數(shù)組中元素的位置顛倒,并返回該數(shù)組。數(shù)組的第一個(gè)元素會(huì)變成最后一個(gè),數(shù)組的最后一個(gè)元素變成第一個(gè)。該方法會(huì)改變?cè)瓟?shù)組。
語(yǔ)法:
arr.reverse()
返回值:
顛倒后的數(shù)組。
7、sort
用算法對(duì)數(shù)組的元素進(jìn)行排序,并返回?cái)?shù)組。
語(yǔ)法:
arr.sort([compareFunction])
參數(shù):
compareFunction
(可選):用來(lái)指定按某種順序進(jìn)行排列的函數(shù)。如果省略,元素按照轉(zhuǎn)換為的字符串的各個(gè)字符的Unicode位點(diǎn)進(jìn)行排序。
1.firstEl
:第一個(gè)用于比較的元素。
2.secondEl
:第二個(gè)用于比較的元素。
返回值:
排序后的數(shù)組。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
javascript驗(yàn)證只能輸入數(shù)字和一個(gè)小數(shù)點(diǎn)示例
使用javascript限制只能輸入數(shù)字和一個(gè)小數(shù)點(diǎn),在某些情況下還是比較使用的,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10JavaScript設(shè)計(jì)模式學(xué)習(xí)之代理模式
這篇文章主要介紹了JavaScript設(shè)計(jì)模式學(xué)習(xí)之代理模式,對(duì)設(shè)計(jì)模式感興趣的同學(xué),可以參考下2021-04-04javascript實(shí)現(xiàn)div的顯示和隱藏的小例子
這篇文章介紹了在JS中實(shí)現(xiàn)DIV顯示和隱藏的實(shí)例,需要的朋友可以參考一下2013-06-06JavaScript+html5 canvas制作的百花齊放效果完整實(shí)例
這篇文章主要介紹了JavaScript+html5 canvas制作的百花齊放效果,結(jié)合完整實(shí)例形式分析了使用html5的canvas技術(shù)動(dòng)態(tài)繪制圖形的技巧,需要的朋友可以參考下2016-01-01js實(shí)現(xiàn)點(diǎn)贊按鈕功能的實(shí)例代碼
這篇文章主要介紹了js實(shí)現(xiàn)點(diǎn)贊按鈕功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03JS數(shù)組按指定字段轉(zhuǎn)map-list結(jié)構(gòu)(示例詳解)
在開發(fā)過(guò)程中經(jīng)常會(huì)出現(xiàn)接口返回整個(gè)數(shù)組,我們需要將數(shù)組進(jìn)行二次處理,這篇文章主要介紹了js?數(shù)組按指定字段轉(zhuǎn)map-list結(jié)構(gòu),需要的朋友可以參考下2023-11-11