數(shù)組的常用api

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]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铐达,隨后出現(xiàn)的幾起案子岖赋,更是在濱河造成了極大的恐慌,老刑警劉巖瓮孙,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唐断,死亡現(xiàn)場離奇詭異,居然都是意外死亡杭抠,警方通過查閱死者的電腦和手機(jī)脸甘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來偏灿,“玉大人丹诀,你說我怎么就攤上這事∥檀梗” “怎么了铆遭?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沿猜。 經(jīng)常有香客問我枚荣,道長,這世上最難降的妖魔是什么啼肩? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任橄妆,我火速辦了婚禮,結(jié)果婚禮上祈坠,老公的妹妹穿的比我還像新娘害碾。我一直安慰自己,他們只是感情好赦拘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布慌随。 她就那樣靜靜地躺著,像睡著了一般另绩。 火紅的嫁衣襯著肌膚如雪儒陨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天笋籽,我揣著相機(jī)與錄音蹦漠,去河邊找鬼。 笑死车海,一個胖子當(dāng)著我的面吹牛笛园,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侍芝,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼研铆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了州叠?” 一聲冷哼從身側(cè)響起棵红,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咧栗,沒想到半個月后逆甜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡致板,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年交煞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斟或。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡素征,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萝挤,到底是詐尸還是另有隱情御毅,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布平斩,位于F島的核電站亚享,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绘面。R本人自食惡果不足惜欺税,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揭璃。 院中可真熱鬧晚凿,春花似錦、人聲如沸瘦馍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽情组。三九已至燥筷,卻和暖如春箩祥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肆氓。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工袍祖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谢揪。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓蕉陋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拨扶。 傳聞我的和親對象是個殘疾皇子凳鬓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Javascript有很多數(shù)組的方法,有的人有W3C的API患民,還可以去MDN上去找缩举,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,068評論 0 6
  • 創(chuàng)建數(shù)組 arr.length--- title: js正則表達(dá)式categories: javascriptda...
    angelwgh閱讀 1,385評論 0 2
  • 下面以var arr = ['x', 'u', 'e', 'y', 'i', 'n', 'g']為例 修改器方法:...
    Lxylona閱讀 742評論 2 17
  • 數(shù)組的定義 數(shù)組是按序號排列的一組值酒奶,每個值的位置都有編號(從0開始)蚁孔。數(shù)組本質(zhì)上是一種特殊的對象。它的鍵名是按(...
    Allin_Lin閱讀 545評論 0 0
  • 我不記得你去年春天的樣子 不記得你的吻拂過我的心 不記得你溫柔摩挲我的衣領(lǐng) 不記得你的笑溢滿我的眼睛 我不記得你今...
    花花的櫻花閱讀 543評論 0 2