Array.prototype.concat()
拼接多個數(shù)組素标,不改變里面的數(shù)組伟端,返回一個新的數(shù)組
arr.every(callback[, thisArg])
對每個元素調(diào)用callback,直到它找到一個使 callback 返回 false(表示可轉(zhuǎn)換為布爾值 false 的值)的元素。如果發(fā)現(xiàn)了一個這樣的元素染坯,every 方法將會立即返回 false羹应。否則掀鹅,callback 為每一個元素返回 true散休,every 就會返回 true。
callback 被調(diào)用時傳入三個參數(shù):元素值乐尊,元素的索引戚丸,原數(shù)組。
thisArg可選扔嵌,this的值.
arr.some()
同上限府,有一個返回true即返回true。全為false則返回false痢缎。
arr.filter(callback[, thisArg]) filter
為數(shù)組中的每個元素調(diào)用一次 callback 函數(shù)胁勺,并利用所有使得 callback 返回 true 或 等價于 true 的值 的元素創(chuàng)建一個新數(shù)組。callback 只會在已經(jīng)賦值的索引上被調(diào)用独旷,對于那些已經(jīng)被刪除或者從未被賦值的索引不會被調(diào)用署穗。那些沒有通過 callback 測試的元素會被跳過,不會被包含在新數(shù)組中嵌洼。
callback 被調(diào)用時傳入三個參數(shù):元素值案疲,元素的索引,原數(shù)組麻养。
thisArg可選褐啡,this的值.
array.forEach()
array.forEach(callback(currentValue, index, array){
do something
}, this)
forEach 方法按升序?yàn)閿?shù)組中含有效值的每一項(xiàng)執(zhí)行一次callback 函數(shù),那些已刪除(使用delete方法等情況)或者未初始化的項(xiàng)將被跳過(但不包括那些值為 undefined 的項(xiàng))(例如在稀疏數(shù)組上)鳖昌。
callback為數(shù)組中每個元素執(zhí)行的函數(shù)春贸,該函數(shù)接收三個參數(shù):
currentValue(當(dāng)前值)數(shù)組中正在處理的當(dāng)前元素。
index(索引)數(shù)組中正在處理的當(dāng)前元素的索引遗遵。
array forEach()方法正在操作的數(shù)組。
thisArg可選可選參數(shù)逸嘀。當(dāng)執(zhí)行回調(diào) 函數(shù)時用作this的值(參考對象)车要。
forEach不返回值,主要用來綁定事件崭倘。
array.map()
同上翼岁,但是返回一個新的數(shù)組。原數(shù)組不變司光。
arr.fill(value,start,end) 方法用一個固定值填充一個數(shù)組中從起始索引到終止索引內(nèi)的全部元素琅坡。數(shù)組本身被改變。
value用來填充數(shù)組元素的值残家。
start 可選起始索引榆俺,默認(rèn)值為0。
end 可選終止索引,默認(rèn)值為 this.length茴晋。
arr.find(callback[, thisArg])與arr.findIndex(callback[, thisArg])
find 方法對數(shù)組中的每一項(xiàng)元素執(zhí)行一次 callback 函數(shù)陪捷,直至有一個 callback 返回 true。當(dāng)找到了這樣一個元素后诺擅,該方法會立即返回這個元素的值市袖,否則返回 undefined。findIndex方法返回元素的索引烁涌。
callback 被調(diào)用時傳入三個參數(shù):元素值苍碟,元素的索引,原數(shù)組撮执。
thisArg可選微峰,this的值
arr.includes(searchElement, fromIndex)
用來判斷一個數(shù)組是否包含一個指定的值,根據(jù)情況二打,如果包含則返回 true县忌,否則返回false。
searchElement 需要查找的元素值继效。
fromIndex 可選 從該索引處開始查找 searchElement症杏。如果為負(fù)值,則按升序從 array.length + fromIndex 的索引開始搜索瑞信。默認(rèn)為 0厉颤。
arr.indexOf(searchElement[, fromIndex = 0])與arr.lastIndexOf(searchElement[, fromIndex = arr.length-1])
同上,返回的是元素的索引凡简。
lastIndexOf從后往前找逼友。
arr.join(separator)
將數(shù)組元素拼接成字符串,默認(rèn)參數(shù)為“秤涩,”帜乞。不改變原數(shù)組的值。
separator指定一個字符串來分隔數(shù)組的每個元素筐眷。如果需要(separator)黎烈,將分隔符轉(zhuǎn)換為字符串。如果省略()匀谣,數(shù)組元素用逗號分隔照棋。默認(rèn)為 ","。如果separator是空字符串("")武翎,則所有元素之間都沒有任何字符烈炭。
pop()/push()/unshift()/shift()
pop()刪除最后一個元素,并返回該元素的值宝恶。
push()將一個或多個元素添加到數(shù)組的末尾符隙,并返回新數(shù)組的長度趴捅。
shift() 方法從數(shù)組中刪除第一個元素,并返回該元素的值膏执。此方法更改數(shù)組的長度驻售。
shift()方法將一個或多個元素添加到數(shù)組的開頭,并返回新數(shù)組的長度更米。
四種方法都改變數(shù)組欺栗。
arr.reduce(callback[, initialValue])
reduce為數(shù)組中的每一個元素依次執(zhí)行callback函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素征峦,接受四個參數(shù):
accumulator累加器 累加回調(diào)的返回值; 它是上一次調(diào)用回調(diào)時返回的累積值迟几,或initialValue(如下所示)。
currentValue數(shù)組 中正在處理的元素栏笆。
currentIndex可選 數(shù)組中正在處理的當(dāng)前元素的索引类腮。 如果提供了initialValue,則索引號為0蛉加,否則為索引為1蚜枢。
array可選 調(diào)用reduce的數(shù)組
initialValue可選 用作第一個調(diào)用 callback的第一個參數(shù)的值。 如果沒有提供初始值针饥,則將使用數(shù)組中的第一個元素厂抽。 在沒有初始值的空數(shù)組上調(diào)用 reduce 將報(bào)錯。
回調(diào)函數(shù)第一次執(zhí)行時丁眼,accumulator 和currentValue的取值有兩種情況:調(diào)用reduce時提供initialValue筷凤,accumulator取值為initialValue,currentValue取數(shù)組中的第一個值苞七;沒有提供 initialValue藐守,accumulator取數(shù)組中的第一個值,currentValue取數(shù)組中的第二個值蹂风。
返回最后一次return的值
arr.reverse()
顛倒數(shù)組值卢厂,改變原數(shù)組。
arr.slice(start,end)
方法返回一個從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組對象惠啄。且原始數(shù)組不會被修改足淆。
array.splice(start, deleteCount, item1, item2, ...)
返回值由被刪除的元素組成的一個數(shù)組。如果只刪除了一個元素礁阁,則返回只包含一個元素的數(shù)組。如果沒有刪除元素族奢,則返回空數(shù)組姥闭。改變原數(shù)組。
start?
指定修改的開始位置(從0計(jì)數(shù))越走。如果超出了數(shù)組的長度棚品,則從數(shù)組末尾開始添加內(nèi)容靠欢;如果是負(fù)值,則表示從數(shù)組末位開始的第幾位(從-1計(jì)數(shù))铜跑;若只使用start參數(shù)而不使用deleteCount门怪、item,如:array.splice(start) 锅纺,表示刪除[start掷空,end]的元素。
deleteCount 可選
整數(shù)囤锉,表示要移除的數(shù)組元素的個數(shù)坦弟。如果 deleteCount 是 0,則不移除元素官地。這種情況下酿傍,至少應(yīng)添加一個新元素。如果 deleteCount 大于start 之后的元素的總數(shù)驱入,則從 start 后面的元素都將被刪除(含第 start 位)赤炒。
如果deleteCount被省略,則其相當(dāng)于(arr.length - start)亏较。
item1, item2, ... 可選
要添加進(jìn)數(shù)組的元素,從start 位置開始莺褒。如果不指定,則 splice() 將只刪除數(shù)組元素宴杀。
begin 可選
從該索引處開始提取原數(shù)組中的元素(從0開始)癣朗。如果該參數(shù)為負(fù)數(shù),則表示從原數(shù)組中的倒數(shù)第幾個元素開始提取旺罢,slice(-2)表示提取原數(shù)組中的倒數(shù)第二個元素到最后一個元素(包含最后一個元素)旷余。如果省略 begin,則 slice 從索引 0 開始扁达。
end可選
在該索引處結(jié)束提取原數(shù)組元素(從0開始)正卧。slice會提取原數(shù)組中索引從 begin 到 end 的所有元素(包含begin,但不包含end)跪解。
slice(1,4) 提取原數(shù)組中的第二個元素開始直到第四個元素的所有元素 (索引為 1, 2, 3的元素)炉旷。如果該參數(shù)為負(fù)數(shù), 則它表示在原數(shù)組中的倒數(shù)第幾個元素結(jié)束抽取叉讥。 slice(-2,-1)表示抽取了原數(shù)組中的倒數(shù)第二個元素到最后一個元素(不包含最后一個元素窘行,也就是只有倒數(shù)第二個元素)。如果 end 被省略图仓,則slice 會一直提取到原數(shù)組末尾罐盔。
如果 end 大于數(shù)組長度,slice 也會一直提取到原數(shù)組末尾救崔。
arr.sort(compareFunction)
對數(shù)組進(jìn)行排序惶看,默認(rèn)根據(jù)Unicode位點(diǎn)進(jìn)行排序捏顺。改變原數(shù)組值。
compareFunction可選函數(shù)
如果 compareFunction(a, b) 小于 0 纬黎,那么 a 會被排列到 b 之前幅骄;
如果 compareFunction(a, b) 等于 0 , a 和 b 的相對位置不變本今。
如果 compareFunction(a, b) 大于 0 拆座, b 會被排列到 a 之前。
compareFunction(a, b) 必須總是對相同的輸入返回相同的比較結(jié)果诈泼,否則排序的結(jié)果將是不確定的懂拾。
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]