查找.indexOf
arr.indexOf(elem)
芙委,
我們實際中可能會寫 a=='a' || a=='b' || a=='c'
垄开,現(xiàn)在可以這么寫毕籽。
['a','b','c'].indexOf(a)
循環(huán) forEach
every 和 some
some將會給數(shù)組里的每一個元素執(zhí)行一遍回調(diào)函數(shù)凫佛,直到有一個回調(diào)函數(shù)返回true為止。如果找到目標元素借跪,some立即返回true政己,否則some返回false√统睿回調(diào)函數(shù)只對已經(jīng)指定值的數(shù)組索引執(zhí)行歇由;它不會對已刪除的或未指定值的元素執(zhí)行。
join 和 concat
.join(分隔符)方法創(chuàng)建一個字符串果港,會將數(shù)組里面每個元素用分隔符連接沦泌。如果沒有提供分隔符,默認的分隔符為“,”京腥。.concat方法創(chuàng)建一個新數(shù)組赦肃,其是對原數(shù)組的淺拷貝(注意是淺拷貝哦)。
棧方法 入棧push/unshift 出棧pop/shift
隊列方法 shift出隊列 unshift 入隊列
用.shift或.pop能很容易遍歷數(shù)組元素公浪,并在操作過程中清空數(shù)組
list = [1,2,3,4,5,6,7,8,9,10]
while (item = list.shift()) {
console.log(item)
}
模型映射.map
map方法會按順序給原數(shù)組中的每個元素(必須有值)都調(diào)用一次 callback函數(shù).callback,每次執(zhí)行后的返回值組合起來形成一個新數(shù)組. callback函數(shù)只會在有值的索引上被調(diào)用; 那些從來沒被賦過值或者使用delete刪除的索引則不會被調(diào)用他宛。
查詢.filter
filter對每個數(shù)組元素執(zhí)行一次回調(diào)函數(shù),并返回一個由回調(diào)函數(shù)返回true的元素組成的新數(shù)組欠气√鳎回調(diào)函數(shù)只會對已經(jīng)指定值的數(shù)組項調(diào)用,類似SQL里where語句
排序.sort(比較函數(shù))
傳入一個function(a,b)的函數(shù)预柒。
- 如果a在b前队塘,則返回值小于零(< 0)
- 如果a和b是等價的,則返回值等于零(=== 0)
- 如果a在b后宜鸯,則返回值大于零(> 0)
復制.slice
返回的是淺拷貝
Array.prototype.slice能被用來將類數(shù)組對象轉(zhuǎn)換為真正的數(shù)組憔古。
Array.prototype.slice.call({ 0: 'a', 1: 'b', length: 2 })
從參數(shù)列表中移除最初的幾個元素,并將類數(shù)組對象轉(zhuǎn)換為真正的數(shù)組淋袖。
var values = Array.prototype.slice.call(arguments, 2)//從第二個參數(shù)開始