js數(shù)組API總結(jié)

callback中參數(shù)永遠(yuǎn)是(當(dāng)前值value,下標(biāo)index,原數(shù)組arr)

遍歷:
1:foreach 對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)
用法:
array.forEach(callback(currentValue, index, array){
//do something
}, this)
array.forEach(callback[, thisArg])
注意:遍歷作用,沒有返回值,不可以鏈?zhǔn)秸{(diào)用 笑窜;除非拋出異常否則不可以被打斷蛮瞄;如果使用箭頭函數(shù)傳入函數(shù)參數(shù)含蓉,thisArg 參數(shù)會(huì)被忽略命锄,因?yàn)榧^函數(shù)在詞法上綁定了this值

變換:
1:map 創(chuàng)建一個(gè)新數(shù)組囱桨,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果十办。
用法:
let array = arr.map(function callback(currentValue, index, array) {
// Return element for new_array
}[, thisArg])
注意:
映射返回一個(gè)新數(shù)組長度不變

2:reduce 對(duì)累加器和數(shù)組中的每個(gè)元素 (從左到右)應(yīng)用一個(gè)函 數(shù)秀撇,將其減少為單個(gè)值
用法:
array.reduce(function(accumulator, currentValue, currentIndex, array), initialValue)
注意:
不提供 initialValue ,reduce 會(huì)從索引1的地方開始執(zhí)行 callback 方法向族,跳過第一個(gè)索引呵燕。提供 initialValue ,從索引0開始件相。如果數(shù)組為空并且沒有提供initialValue再扭, 會(huì)拋出TypeError 。如果數(shù)組僅有一個(gè)元素(無論位置如何)并且沒有提initialValue夜矗, 或者有提供initialValue但是數(shù)組為空泛范,那么此唯一值將被返回并且callback不會(huì)被執(zhí)行。提供 initialValue 通常更安全紊撕。返回一個(gè)最終的累加值罢荡。

3:reduceRight 和reduce方向直行相反

4:filter 創(chuàng)建一個(gè)新數(shù)組, 返回通過測試的所有元素。
用法:
var new_array = arr.filter(callback[, thisArg])
注意:
返回true表示保留該元素(通過測試),false則不保留区赵。

查找:
1:some 找到符合條件的停止并返回true 沒有找到返回false
用法:
arr.some(callback[, thisArg])
const isBiggerThan10 = (element, index, array) => {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); //false
注意:
some 為數(shù)組中的每一個(gè)元素執(zhí)行一次 callback 函數(shù)惭缰,直到找到一個(gè)使得 callback 返回一個(gè)“真值”(即可轉(zhuǎn)換為布爾值 true 的值)。如果找到了這樣一個(gè)值笼才,some 將會(huì)立即返回 true漱受。否則,some 返回 false骡送。callback 只會(huì)在那些”有值“的索引上被調(diào)用昂羡,不會(huì)在那些被刪除或從來未被賦值的索引上調(diào)用。

2:every 數(shù)組全部通過測試返回true 一旦發(fā)現(xiàn)不滿足條件的返回false立即停止

3:includes() 方法用來判斷一個(gè)數(shù)組是否包含一個(gè)指定的值各谚,如果是紧憾,酌情返回 true或 false到千。
用法:arr.includes(searchElement, fromIndex)
注意:是否包含一個(gè)指定的值而不是一個(gè)條件

4:indexof方法返回在數(shù)組中可以找到一個(gè)給定元素的第一個(gè)索引昌渤,如果不存在,則返回-1憔四。
用法:
arr.indexOf(searchElement[, fromIndex = 0])
注意:
開始查找的位置膀息。如果該索引值大于或等于數(shù)組長度,意味著不會(huì)在數(shù)組里查找了赵,返回-1潜支。如果參數(shù)中提供的索引值是一個(gè)負(fù)值,則將其作為數(shù)組末尾的一個(gè)抵消柿汛,即-1表示從最后一個(gè)元素開始查找冗酿,-2表示從倒數(shù)第二個(gè)元素開始查找 ,以此類推络断。 注意:如果參數(shù)中提供的索引值是一個(gè)負(fù)值裁替,仍然從前向后查詢數(shù)組。如果抵消后的索引值仍小于0貌笨,則整個(gè)數(shù)組都將會(huì)被查詢弱判。其默認(rèn)值為0;是否包含一個(gè)指定的值而不是一個(gè)條件;
5:lastIndexOf 從后往前找 類似indexof

6:find 方法返回?cái)?shù)組中滿足提供的測試函數(shù)的第一個(gè)元素的值
用法:
arr.find(callback[, thisArg])
7:findindex 返回?cái)?shù)組中滿足提供的測試函數(shù)的第一個(gè)元素的索引锥惋。否則返回-1昌腰。
用法:
arr.findIndex(callback[, thisArg])

刪除:
1:pop()方法從數(shù)組中刪除最后一個(gè)元素,并返回該元素的值膀跌。此方法更改數(shù)組的長度遭商。
使用:
arr.pop()
注意:
如果你在一個(gè)空數(shù)組上調(diào)用 pop(),它返回 undefined捅伤。

2:shift() 方法從數(shù)組中刪除第一個(gè)元素劫流,并返回該元素的值。此方法更改數(shù)組的長度。
注意:
shift 方法移除索引為 0 的元素(即第一個(gè)元素)困介,并返回被移除的元素大审,其他元素的索引值隨之減 1。如果 length 屬性的值為 0 (長度為 0)座哩,則返回 undefined徒扶。

3:slice() 方法返回一個(gè)從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個(gè)新數(shù)組對(duì)象。原始數(shù)組不會(huì)被修改根穷。

添加:
1:push() 方法將一個(gè)或多個(gè)元素添加到數(shù)組的末尾姜骡,并返回?cái)?shù)組的新長度。
2:unshift() 方法將一個(gè)或多個(gè)元素添加到數(shù)組的開頭屿良,并返回新數(shù)組的長度圈澈。
3:concat() 方法用于合并兩個(gè)或多個(gè)數(shù)組。此方法不會(huì)更改現(xiàn)有數(shù)組尘惧,而是返回一個(gè)新數(shù)組康栈。
用法:
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

數(shù)組轉(zhuǎn)化字符串:
1:join() 方法將數(shù)組(或一個(gè)類數(shù)組對(duì)象)的所有元素連接到一個(gè)字符串中,不會(huì)改變數(shù)組喷橙。

2:toLocaleString() 返回一個(gè)字符串表示數(shù)組中的元素啥么。數(shù)組中的元素將使用各自的 toLocaleString 方法轉(zhuǎn)成字符串,這些字符串將使用一個(gè)特定語言環(huán)境的字符串(例如一個(gè)逗號(hào) ",")隔開

3:toString() 返回一個(gè)字符串贰逾,表示指定的數(shù)組及其元素悬荣。
注意:
Array 對(duì)象覆蓋了 Object 的 toString 方法胰锌。對(duì)于數(shù)組對(duì)象荆烈,toString 方法返回一個(gè)字符串,該字符串由數(shù)組中的每個(gè)元素的 toString() 返回值經(jīng)調(diào)用 join() 方法連接(由逗號(hào)隔開)組成描睦。例如言缤,下面的代碼創(chuàng)建了一個(gè)數(shù)組嚼蚀,然后使用 toString 方法把該數(shù)組轉(zhuǎn)成一個(gè)字符串。
所以當(dāng)調(diào)用join不能獲得字符串時(shí)調(diào)用toString也不能獲取到.
4: JSON.stringify()
let arr = [{name: 1},{name: 2},{name: 3},{name: 4},{name: 5},{name: 6}, {name: 7}];
let json = JSON.stringify(arr);//獲得字符串

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轧简,一起剝皮案震驚了整個(gè)濱河市驰坊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哮独,老刑警劉巖拳芙,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異皮璧,居然都是意外死亡舟扎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門悴务,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睹限,“玉大人譬猫,你說我怎么就攤上這事∠哿疲” “怎么了染服?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叨恨。 經(jīng)常有香客問我柳刮,道長,這世上最難降的妖魔是什么痒钝? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任秉颗,我火速辦了婚禮,結(jié)果婚禮上送矩,老公的妹妹穿的比我還像新娘蚕甥。我一直安慰自己,他們只是感情好栋荸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布菇怀。 她就那樣靜靜地躺著,像睡著了一般蒸其。 火紅的嫁衣襯著肌膚如雪敏释。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天摸袁,我揣著相機(jī)與錄音,去河邊找鬼义屏。 笑死靠汁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闽铐。 我是一名探鬼主播蝶怔,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼兄墅!你這毒婦竟也來了踢星?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤隙咸,失蹤者是張志新(化名)和其女友劉穎沐悦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體五督,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡藏否,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了充包。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片副签。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淆储,到底是詐尸還是另有隱情冠场,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布本砰,位于F島的核電站慈鸠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灌具。R本人自食惡果不足惜青团,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咖楣。 院中可真熱鬧督笆,春花似錦、人聲如沸诱贿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽珠十。三九已至料扰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間焙蹭,已是汗流浹背晒杈。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孔厉,地道東北人拯钻。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像撰豺,于是被迫代替她去往敵國和親粪般。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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