數組的迭代方法

ES5為數組定義了5個迭代的方法壹士。每個方法都接收兩個參數:
1)要在每一項上運行的函數
2)運行該函數的作用域對象--影響this的值(可選)樟蠕。
運行的函數會接受三個參數:1)數組項的值 2)該項在數組中的位置 3)數組對象本身。
1报账、.every()
對數組的每一項運行給定函數,如果該函數對每一項都返回true盗扒,則返回true纱昧。類似于邏輯與刨啸,所有都滿足的條件的情況下返回true:

var arr = [1,5,9,7,25,16,30]
    var result = arr.every(function(item,index,array){
    return item > 0
})
console.log(result)
image.png

這里的條件時數組中的內容大于0,原數組中的所有內容都大于0识脆,所以這里返回的是true设联;
只要有一項不滿足條件則輸出false:

var arr = [1,5,9,7,25,16,30]
    var result = arr.every(function(item,index,array){
    return item > 5
})
console.log(result)

這里條件時大于5,此數組中有小于5的項灼捂,所以返回false:


image.png

2离例、.some()
對數組的每一項運行給定函數,如果該函數對任一項返回true悉稠,則返回true宫蛆。正好和every相反,與邏輯或的方法相近的猛,數組中有滿足條件的內容時返回true:

var arr = [1,5,9,7,25,16,30]
    var result = arr.some(function(item,index,array){
    return item > 5
})
console.log(result)

這里條件時內容大于5耀盗,原數組中存在大于5的項想虎,所以輸出true:


image.png

當全都不滿足條件時輸出false:

var arr = [1,5,9,7,25,16,30]
    var result = arr.some(function(item,index,array){
    return item < 0;
})
 console.log(result)

這里的條件是小于0,原數組中所有項都不小于0叛拷,所以輸出false


image.png

3舌厨、.filter()
對數組的每一項運行給定函數,返回該函數會返回true的項組成的數組胡诗。
挑選出符合條件的項邓线,并組成新的數組:

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.filter(function(item,index,array){
    return item > 29;
})
console.log(result)

這里的條件時大于29,原數組里只有“40”和“30”大于29(滿足所給定的條件)煌恢,所以返回這兩項內容組成的新數組:


image.png

4骇陈、.map()
對數組的每一項運行給定函數,返回每次函數調用的結果組成的數組瑰抵。

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.map(function(item,index,array){
    return item * 2;
})

這里給的條件是乘以二你雌,將原數組中的每一項拿出來做乘以2的運算,并且返回運算后的新數組(不改變原數組)
console.log(result)


image.png

5二汛、.forEach()
對數組的每一項運行給定函數婿崭。該方法沒有返回值。

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.forEach(function(item,index,array){
    return item * 2;
})
    console.log(result)

這里也是給原數組的每一項做*2的運算
和map一樣肴颊,只不過map可以返回運算后的新數組氓栈,.forEach()沒有返回值,如果一定要返回婿着,則只有一個返回值:undefined:


image.png

雖然沒有返回值授瘦,但是它可以打印和運算:

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.forEach(function(item,index,array){
    console.log (item * 2);
})

這里原數組內的各項做了乘以2的運算并且能夠打印,結果:

image.png

小編能力有限竟宋,存在不足或不全提完,請大家指出,共同學習與交流丘侠。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末徒欣,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子蜗字,更是在濱河造成了極大的恐慌打肝,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挪捕,死亡現場離奇詭異粗梭,居然都是意外死亡,警方通過查閱死者的電腦和手機担神,發(fā)現死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門楼吃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事孩锡】嵯” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵躬窜,是天一觀的道長浇垦。 經常有香客問我,道長荣挨,這世上最難降的妖魔是什么男韧? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮默垄,結果婚禮上此虑,老公的妹妹穿的比我還像新娘。我一直安慰自己口锭,他們只是感情好朦前,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鹃操,像睡著了一般韭寸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荆隘,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天恩伺,我揣著相機與錄音,去河邊找鬼椰拒。 笑死晶渠,一個胖子當著我的面吹牛,可吹牛的內容都是我干的耸三。 我是一名探鬼主播乱陡,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼浇揩,長吁一口氣:“原來是場噩夢啊……” “哼仪壮!你這毒婦竟也來了?” 一聲冷哼從身側響起胳徽,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤积锅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后养盗,有當地人在樹林里發(fā)現了一具尸體缚陷,經...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年往核,在試婚紗的時候發(fā)現自己被綠了箫爷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖虎锚,靈堂內的尸體忽然破棺而出硫痰,到底是詐尸還是另有隱情,我是刑警寧澤窜护,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布效斑,位于F島的核電站,受9級特大地震影響柱徙,放射性物質發(fā)生泄漏缓屠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一护侮、第九天 我趴在偏房一處隱蔽的房頂上張望敌完。 院中可真熱鬧,春花似錦羊初、人聲如沸蠢挡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽业踏。三九已至,卻和暖如春涧卵,著一層夾襖步出監(jiān)牢的瞬間勤家,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工柳恐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伐脖,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓乐设,卻偏偏與公主長得像讼庇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子近尚,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容

  • ES5定義了五個迭代方法蠕啄,每個方法都接收兩個參數:要在每一項上運行的函數和運行該函數的作用域對象(可選的),作用域...
    追光者_閱讀 309評論 0 3
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,216評論 0 4
  • 平時習慣用for循環(huán)去遍歷數組戈锻,也懶的去記這些迭代方法歼跟,但是面試的時候被問到了,只知道是迭代方法格遭,卻記不清它們的返...
    溫夢麗閱讀 233評論 0 0
  • ??引用類型的值(對象)是引用類型的一個實例拒迅。 ??在 ECMAscript 中骚秦,引用類型是一種數據結構她倘,用于將數...
    霜天曉閱讀 1,042評論 0 1
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,125評論 0 3