js中的數(shù)組遍歷是項(xiàng)目中經(jīng)常用到的啸罢,在這里將幾種方法做個對比。
for循環(huán):使用評率最高,也是最基本的一種遍歷方式联四。
let arr = ['a','b','c','d','e'];
for (let i = 0, len = arr.length; i < len; i++) {
console.log(i); // 0 1 2 3 4
console.log(arr[i]); //a b c d e
}
forEach()循環(huán):forEach中傳入要執(zhí)行的回調(diào)函數(shù),函數(shù)有三個參數(shù)撑教。第一個參數(shù)為數(shù)組元素(必選)朝墩,第二個參數(shù)為數(shù)組元素索引值(可選),第三個參數(shù)為數(shù)組本身(可選)
let arr = ['a','b','c','d','e'];
arr.forEach((item,index,arr)=> {
console.log(item); // a b c d e
console.log(index); // 0 1 2 3 4
console.log(arr); // ['a','b','c','d','e']
})
map循環(huán):map()中傳入要執(zhí)行的回調(diào)函數(shù)伟姐,函數(shù)有三個參數(shù)收苏。第一個參數(shù)為數(shù)組元素(必選),第二個參數(shù)為數(shù)組元素索引值(可選)愤兵,第三個參數(shù)為數(shù)組本身(可選)
var arr = [
{name:'a',age:'18'},
{name:'b',age:'19'},
{name:'c',age:'20'}
];
arr.map(function(item,index) {
if(item.name == 'b') {
console.log(index) // 1
}
})
for...in循環(huán):for...in循環(huán)可用于循環(huán)對象和數(shù)組,推薦用于循環(huán)對象,可以用來遍歷json
let obj = {
name: '王大錘',
age: '18',
weight: '70kg'
}
for(var key in obj) {
console.log(key); // name age weight
console.log(obj[key]); // 王大錘 18 70kg
}
let arr = ['a','b','c','d','e'];
for(var key in arr) {
console.log(key); // 0 1 2 3 4 返回數(shù)組索引
console.log(arr[key]) // a b c d e
}
for...of循環(huán):可循環(huán)數(shù)組和對象鹿霸,推薦用于遍歷數(shù)組。
for...of提供了三個新方法:
key()是對鍵名的遍歷秆乳;
value()是對鍵值的遍歷懦鼠;
entries()是對鍵值對的遍歷;
let arr = ['科大訊飛', '政法BG', '前端開發(fā)'];
for (let item of arr) {
console.log(item); // 科大訊飛 政法BG 前端開發(fā)
}
// 輸出數(shù)組索引
for (let item of arr.keys()) {
console.log(item); // 0 1 2
}
// 輸出內(nèi)容和索引
for (let [item, val] of arr.entries()) {
console.log(item + ':' + val); // 0:科大訊飛 1:政法BG 2:前端開發(fā)
}
總結(jié):forEach矫夷、map葛闷、filter、reduce双藕、every淑趾、some 都會有 break 和 continue 不生效的問題,因?yàn)槭窃趂unction中忧陪,但function解決了閉包陷阱的問題扣泊;要使用 break近范、continue 可以使用 for、for...in延蟹、for...of评矩、while。用于遍歷數(shù)組元素使用:for()阱飘,forEach()斥杜,map(),for...of 用于循環(huán)對象屬性使用:for...in
js數(shù)組遍歷總結(jié)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門预麸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞪浸,“玉大人,你說我怎么就攤上這事师崎∧眨” “怎么了椅棺?”我有些...
- 文/不壞的土叔 我叫張陵犁罩,是天一觀的道長。 經(jīng)常有香客問我两疚,道長床估,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任诱渤,我火速辦了婚禮丐巫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘勺美。我一直安慰自己递胧,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布赡茸。 她就那樣靜靜地躺著缎脾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪占卧。 梳的紋絲不亂的頭發(fā)上遗菠,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼譬涡!你這毒婦竟也來了蜈抓?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對情侶失蹤昂儒,失蹤者是張志新(化名)和其女友劉穎沟使,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渊跋,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡腊嗡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拾酝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片燕少。...
- 正文 年R本政府宣布底挫,位于F島的核電站,受9級特大地震影響脸侥,放射性物質(zhì)發(fā)生泄漏建邓。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一睁枕、第九天 我趴在偏房一處隱蔽的房頂上張望官边。 院中可真熱鬧,春花似錦外遇、人聲如沸注簿。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽诡渴。三九已至,卻和暖如春塔嬉,著一層夾襖步出監(jiān)牢的瞬間玩徊,已是汗流浹背租悄。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長得像畔塔,于是被迫代替她去往敵國和親潭辈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 轉(zhuǎn)載:在開發(fā)中,數(shù)組的使用場景非常多谅辣,平日中也涉及到很多數(shù)組的api/相關(guān)操作修赞,一直也沒有對這塊內(nèi)容進(jìn)行一塊整理總...
- 1、新的聲明方式 以前我們在聲明時只有一種方法桑阶,就是使用var來進(jìn)行聲明柏副,ES6對聲明的進(jìn)行了擴(kuò)展,現(xiàn)在可以有三種...
- 1蚣录、在執(zhí)行 php artisan jwt:secret 生成密鑰的時候割择,報錯Method Tymon\JWTAu...