JavaScript中的循環(huán)遍歷研究

  • for語句想幻,while語句蒸痹,do...while語句
  • for-in循環(huán)

for...in循環(huán)只能獲取鍵名不能獲取鍵值;
for...in循環(huán)是以字符串作為鍵名(數(shù)組的鍵名是數(shù)字);
for...in循環(huán)不僅遍歷數(shù)字鍵名,還會遍歷手動添加的其他鍵这揣;
因此,for...in循環(huán)主要為遍歷對象而設(shè)計的影斑,不適用于遍歷數(shù)據(jù)

/* for...in循環(huán)只能獲取對象的鍵名给赞,不能直接獲取鍵值 */
let obj = {a: 1, b: 2, c: 3};
for (let i in obj) {
    console.log(i);  // a b c
}

/* for...in循環(huán)是以字符串作為鍵名 */
const arr = [1, 2, 3];

for (let i in arr) {
  console.log(typeof i); //string
}

/* for...in循環(huán)不僅遍歷數(shù)字鍵名,還會遍歷手動添加的其他鍵  */
let arr = [3, 5, 7];
arr.foo = 'hello';

for (let i in arr) {
  console.log(i); // "0", "1", "2", "foo"
}
  • for-of循環(huán)

ES6引入的一個循環(huán)矫户,作為遍歷所有數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一方法片迅;
一個數(shù)據(jù)結(jié)構(gòu)只要部署了Symbol.iterator屬性,就被視為具有iterator接口皆辽,就可以用for...of循環(huán)遍歷它的成員柑蛇;
使用范圍包括數(shù)組,Set和Map結(jié)構(gòu)膳汪,字符串,類數(shù)組對象(DOM集合)等九秀;但是普通對象并不適用遗嗽。
for...of循環(huán)返回的是鍵值;
for...of循環(huán)可以與break鼓蜒、continue和return配合使用

/* 數(shù)組原生具備interator接口痹换,及默認(rèn)部署了Symbol.iterator屬性 */
let arr = [10, 20, 30];
for (let v of arr) {
    v += 1;
    console.log(v); // 11 21 31
}

/* 類數(shù)組的循環(huán)(字符串) */
let str = 'hello';
for (let v of str) {
  console.log(v); // h e l l o
}

/* 不是說所有的類數(shù)組對象都具有interator接口,簡單的解決方法就是用Array,form方法將其轉(zhuǎn)為數(shù)組 */
let arrayLike = { length: 2, 0: 'a', 1: 'b' };

for (let x of Array.from(arrayLike)) {
  console.log(x);// a b
}

/* 與break都弹、continue和return配合退出循環(huán) */
for (var n of fibonacci) {
  if (n > 1000)
    break;
  console.log(n);
}
  • forEach

對數(shù)組進行遍歷娇豫,當(dāng)遇到數(shù)組的空位時會跳過。
forEach不能退出循環(huán)

[1, 2, , 4].forEach(v => {
    conosle.log(v); //1 2 4
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末畅厢,一起剝皮案震驚了整個濱河市冯痢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌框杜,老刑警劉巖浦楣,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咪辱,居然都是意外死亡振劳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門油狂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來历恐,“玉大人寸癌,你說我怎么就攤上這事∪踉簦” “怎么了蒸苇?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長哮洽。 經(jīng)常有香客問我填渠,道長,這世上最難降的妖魔是什么鸟辅? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任氛什,我火速辦了婚禮,結(jié)果婚禮上匪凉,老公的妹妹穿的比我還像新娘枪眉。我一直安慰自己,他們只是感情好再层,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布枫笛。 她就那樣靜靜地躺著,像睡著了一般瞬痘。 火紅的嫁衣襯著肌膚如雪坦喘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天蛋济,我揣著相機與錄音棍鳖,去河邊找鬼。 笑死碗旅,一個胖子當(dāng)著我的面吹牛渡处,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播祟辟,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼医瘫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旧困?” 一聲冷哼從身側(cè)響起醇份,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吼具,沒想到半個月后被芳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡馍悟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年畔濒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锣咒。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡侵状,死狀恐怖赞弥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趣兄,我是刑警寧澤绽左,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站艇潭,受9級特大地震影響拼窥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蹋凝,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一鲁纠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳍寂,春花似錦改含、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鞍爱,卻和暖如春鹃觉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背睹逃。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工盗扇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唯卖。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓粱玲,卻偏偏與公主長得像躬柬,于是被迫代替她去往敵國和親拜轨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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