JS中的forEach翘骂、$.each、map方法推薦[轉(zhuǎn)載]

forEach是ECMA5中Array新方法中最基本的一個(gè)帚豪,就是遍歷碳竟,循環(huán)。例如下面這個(gè)例子:
[1, 2 ,3, 4].forEach(alert);
等同于下面這個(gè)for循環(huán)
var array = [1, 2, 3, 4];
for (var k = 0, length = array.length; k < length; k++) {
alert(array[k]);
}
Array在ES5新增的方法中狸臣,參數(shù)都是function類型莹桅,默認(rèn)有傳參,forEach方法中的function回調(diào)支持3個(gè)參數(shù)烛亦,第1個(gè)是遍歷的數(shù)組內(nèi)容诈泼;第2個(gè)是對(duì)應(yīng)的數(shù)組索引,第3個(gè)是數(shù)組本身煤禽。
因此铐达,我們有:
[].forEach(function(value, index, array) {
// ...
});
對(duì)比jQuery中的$.each方法:
$.each([], function(index, value, array) {
// ...
});
會(huì)發(fā)現(xiàn),第1個(gè)和第2個(gè)參數(shù)正好是相反的檬果,大家要注意了瓮孙,不要記錯(cuò)了。后面類似的方法选脊,例如$.map也是如此杭抠。
var data=[1,3,4] ;
var sum=0 ;
data.forEach(function(val,index,arr){
console.log(arr[index]==val); // ==> true
sum+=val
})
console.log(sum); // ==> 8
map
這里的map不是“地圖”的意思,而是指“映射”恳啥。[].map(); 基本用法跟forEach方法類似:
array.map(callback,[ thisObject]);
callback的參數(shù)也類似:
[].map(function(value, index, array) {
// ...
});
map方法的作用不難理解偏灿,“映射”嘛,也就是原數(shù)組被“映射”成對(duì)應(yīng)新數(shù)組钝的。下面這個(gè)例子是數(shù)值項(xiàng)求平方:
var data=[1,3,4]

var Squares=data.map(function(val,index,arr){
console.log(arr[index]==val); // ==> true
return valval
})
console.log(Squares); // ==> [1, 9, 16]
注意:由于forEach翁垂、map都是ECMA5新增數(shù)組的方法忿墅,所以ie9以下的瀏覽器還不支持(萬惡的IE啊)沮峡,不過呢疚脐,可以從Array原型擴(kuò)展可以實(shí)現(xiàn)以上全部功能,例如forEach方法:
if (typeof Array.prototype.forEach != "function") {
Array.prototype.forEach = function() {
/
實(shí)現(xiàn) */
};
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末邢疙,一起剝皮案震驚了整個(gè)濱河市棍弄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疟游,老刑警劉巖呼畸,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異颁虐,居然都是意外死亡蛮原,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門另绩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儒陨,“玉大人,你說我怎么就攤上這事笋籽”哪” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵车海,是天一觀的道長笛园。 經(jīng)常有香客問我,道長侍芝,這世上最難降的妖魔是什么研铆? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮州叠,結(jié)果婚禮上棵红,老公的妹妹穿的比我還像新娘。我一直安慰自己留量,他們只是感情好窄赋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楼熄,像睡著了一般忆绰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上可岂,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天错敢,我揣著相機(jī)與錄音,去河邊找鬼。 笑死稚茅,一個(gè)胖子當(dāng)著我的面吹牛纸淮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亚享,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼咽块,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了欺税?” 一聲冷哼從身側(cè)響起侈沪,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晚凿,沒想到半個(gè)月后亭罪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歼秽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年应役,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片燥筷。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡箩祥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出荆责,到底是詐尸還是另有隱情滥比,我是刑警寧澤亚脆,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布做院,位于F島的核電站,受9級(jí)特大地震影響濒持,放射性物質(zhì)發(fā)生泄漏键耕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一柑营、第九天 我趴在偏房一處隱蔽的房頂上張望屈雄。 院中可真熱鬧,春花似錦官套、人聲如沸酒奶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惋嚎。三九已至,卻和暖如春站刑,著一層夾襖步出監(jiān)牢的瞬間另伍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國打工绞旅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弛说,地道東北人鲫懒。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓攒至,卻偏偏與公主長得像,于是被迫代替她去往敵國和親勺爱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

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