
查找.indexOf
arr.indexOf(elem),
我們實(shí)際中可能會(huì)寫(xiě) a=='a' || a=='b' || a=='c',現(xiàn)在可以這么寫(xiě)。
['a','b','c'].indexOf(a)
循環(huán) forEach

every 和 some
some將會(huì)給數(shù)組里的每一個(gè)元素執(zhí)行一遍回調(diào)函數(shù),直到有一個(gè)回調(diào)函數(shù)返回true為止。如果找到目標(biāo)元素,some立即返回true,否則some返回false。回調(diào)函數(shù)只對(duì)已經(jīng)指定值的數(shù)組索引執(zhí)行;它不會(huì)對(duì)已刪除的或未指定值的元素執(zhí)行。


join 和 concat
.join(分隔符)方法創(chuàng)建一個(gè)字符串,會(huì)將數(shù)組里面每個(gè)元素用分隔符連接。如果沒(méi)有提供分隔符,默認(rèn)的分隔符為“,”。.concat方法創(chuàng)建一個(gè)新數(shù)組,其是對(duì)原數(shù)組的淺拷貝(注意是淺拷貝哦)。

棧方法 入棧push/unshift 出棧pop/shift

隊(duì)列方法 shift出隊(duì)列 unshift 入隊(duì)列

用.shift或.pop能很容易遍歷數(shù)組元素,并在操作過(guò)程中清空數(shù)組
list = [1,2,3,4,5,6,7,8,9,10]
while (item = list.shift()) {
console.log(item)
}

模型映射.map
map方法會(huì)按順序給原數(shù)組中的每個(gè)元素(必須有值)都調(diào)用一次 callback函數(shù).callback,每次執(zhí)行后的返回值組合起來(lái)形成一個(gè)新數(shù)組. callback函數(shù)只會(huì)在有值的索引上被調(diào)用; 那些從來(lái)沒(méi)被賦過(guò)值或者使用delete刪除的索引則不會(huì)被調(diào)用。

查詢(xún).filter
filter對(duì)每個(gè)數(shù)組元素執(zhí)行一次回調(diào)函數(shù),并返回一個(gè)由回調(diào)函數(shù)返回true的元素組成的新數(shù)組?;卣{(diào)函數(shù)只會(huì)對(duì)已經(jīng)指定值的數(shù)組項(xiàng)調(diào)用,類(lèi)似SQL里where語(yǔ)句
排序.sort(比較函數(shù))
傳入一個(gè)function(a,b)的函數(shù)。
- 如果a在b前,則返回值小于零(< 0)
- 如果a和b是等價(jià)的,則返回值等于零(=== 0)
- 如果a在b后,則返回值大于零(> 0)
復(fù)制.slice
返回的是淺拷貝
Array.prototype.slice能被用來(lái)將類(lèi)數(shù)組對(duì)象轉(zhuǎn)換為真正的數(shù)組。
Array.prototype.slice.call({ 0: 'a', 1: 'b', length: 2 })
從參數(shù)列表中移除最初的幾個(gè)元素,并將類(lèi)數(shù)組對(duì)象轉(zhuǎn)換為真正的數(shù)組。
var values = Array.prototype.slice.call(arguments, 2)//從第二個(gè)參數(shù)開(kāi)始