JavaScript之Array常見的方法詳解
不改變原數組的方法
1、concat
用于合并兩個或多個數組。此方法不會更改現有數組,而是返回一個新數組。
語法:
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
參數:
ValueN(可選):
數組和/或值,將被合并到一個新的數組中。如果省略了所有 valueN 參數,則 concat 會返回調用此方法的現存數組的一個淺拷貝。
返回值:
一個新的Array

2、join
將一個數組(或一個類數組對象)的所有元素連接成一個字符串并返回這個字符串。如果數組只有一個項目,那么將返回該項目而不使用分隔符。
語法:
arr.join([separator])
參數:
separator?(可選):
指定一個字符串來分隔數組的每個元素。如果需要,將分隔符轉換為字符串。如果缺省該值,數組元素用逗號(,)分隔。如果separator是空字符串(""),則所有元素之間都沒有任何字符。
返回值:
一個所有數組元素連接的字符串。如果 arr.length 為0,則返回空字符串。

注意:
如果一個元素為 undefined 或 null,它會被轉換為空字符串。
3、slice
返回一個新的數組對象,這一對象是一個由 begin 和 end 決定的原數組的淺拷貝(包括 begin,不包括end)。原始數組不會被改變。
語法:
arr.slice([begin[, end]])
參數:
begin(可選):提取起始處的索引(從 0 開始),從該索引開始提取原數組元素。如果該參數為負數,則表示從原數組中的倒數第幾個元素開始提取,slice(-2) 表示提取原數組中的倒數第二個元素到最后一個元素(包含最后一個元素)。如果省略 begin,則 slice 從索引 0 開始。如果 begin 超出原數組的索引范圍,則會返回空數組。
end(可選):提取終止處的索引(從 0 開始),在該索引處結束提取原數組元素。slice 會提取原數組中索引從 begin 到 end 的所有元素(包含 begin,但不包含 end)。如果該參數為負數, 則它表示在原數組中的倒數第幾個元素結束抽取。如果 end 被省略,則 slice 會一直提取到原數組末尾。如果 end 大于數組的長度,slice 也會一直提取到原數組末尾。
返回值:
一個含有被提取元素的新數組。

4、toString
返回一個字符串,表示指定的數組及其元素。
語法:
arr.toString()
返回值:
一個表示指定的數組及其元素的字符串。

改變原數組的方法
1、pop
從數組中刪除最后一個元素,并返回該元素的值。
語法:
arr.pop()
返回值
從數組中刪除的元素(當數組為空時返回undefined)。

2、push
將一個或多個元素添加到數組的末尾,并返回該數組的新長度。
語法:
arr.push(element1, ..., elementN)
參數:
elementN:被添加到數組末尾的元素。
返回值:
當調用該方法時,新的 length 屬性值將被返回。

3、shift
從數組中刪除第一個元素,并返回該元素的值。此方法更改數組的長度。
語法:
arr.shift()
返回值:
從數組中刪除的元素; 如果數組為空則返回 undefined 。

4、unshift
將一個或多個元素添加到數組的開頭,并返回該數組的新長度(該方法修改原有數組)。
語法:
arr.unshift(element1, ..., elementN)
參數:
elementN:要添加到數組開頭的元素或多個元素。
返回值:
當一個對象調用該方法時,返回其 length 屬性值。

5、splice
通過刪除或替換現有元素或者原地添加新的元素來修改數組,并以數組形式返回被修改的內容。此方法會改變原數組。
語法:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) **參數:**
start?:指定修改的開始位置(從0計數)。如果超出了數組的長度,則從數組末尾開始添加內容;如果是負值,則表示從數組末位開始的第幾位(從-1計數,這意味著-n是倒數第n個元素并且等價于array.length-n);如果負數的絕對值大于數組的長度,則表示開始位置為第0位。
deleteCount(可選):整數,表示要移除的數組元素的個數。如果 deleteCount 大于 start 之后的元素的總數,則從 start 后面的元素都將被刪除(含第 start 位)。如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是說,如果它大于或者等于start之后的所有元素的數量),那么start之后數組的所有元素都會被刪除。如果 deleteCount 是 0 或者負數,則不移除元素。這種情況下,至少應添加一個新元素。
item1, item2, …?(可選):要添加進數組的元素,從start 位置開始。如果不指定,則 splice() 將只刪除數組元素。
返回值:
由被刪除的元素組成的一個數組。如果只刪除了一個元素,則返回只包含一個元素的數組。如果沒有刪除元素,則返回空數組。

6、reverse
將數組中元素的位置顛倒,并返回該數組。數組的第一個元素會變成最后一個,數組的最后一個元素變成第一個。該方法會改變原數組。
語法:
arr.reverse()
返回值:
顛倒后的數組。

7、sort
用算法對數組的元素進行排序,并返回數組。
語法:
arr.sort([compareFunction])
參數:
compareFunction(可選):用來指定按某種順序進行排列的函數。如果省略,元素按照轉換為的字符串的各個字符的Unicode位點進行排序。
1.firstEl:第一個用于比較的元素。
2.secondEl:第二個用于比較的元素。
返回值:
排序后的數組。

總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
JavaScript+html5 canvas制作的百花齊放效果完整實例
這篇文章主要介紹了JavaScript+html5 canvas制作的百花齊放效果,結合完整實例形式分析了使用html5的canvas技術動態(tài)繪制圖形的技巧,需要的朋友可以參考下2016-01-01

