摘要:缺陷是不能使用,但可以用來,適用于鏈式場景,如,適用于全部元素的遍歷,缺陷是不知道迭代器,新特性,大家可以慢慢玩
原文鏈接
參考《JavaScript 數(shù)組遍歷》
開始遍歷For-each over an array in JavaScript?
Why is "for(var item in list)" with arrays considered bad practice in JavaScript?
forEach and runtime cost
多種選擇:
for
for-in
forEach 以及相關(guān)的(ES5+)
for-of(ES6+)
使用迭代器(ES6+)
先聲明并初始化一個數(shù)組吧:let a = ["a", "b", "c"];
使用 for 循環(huán)for (let i = a.length; i--; ) { console.log(a[i]); }使用 for-in (不推薦)
for (let i in a) { console.log(a[i]); }forEach 以及相關(guān)的
a.forEach((e, i, a) => console.log(`element:${e}, index:${i}, array:${a}`));
a.map(n => console.log(n));使用 for-of
for (let val of a) { console.log(val); }使用迭代器
for (let entry, itr = a[Symbol.iterator](); !(entry = itr.next()).done; ) { console.log(entry.value); }比較上述遍歷方式
for 這是最常見的遍歷方式,瀏覽器都支持
for-in 不推薦,兩個原因:不能保證遍歷的順序是預(yù)期的;遍歷可能會帶出原型鏈上的屬性
forEach() 非常好用的遍歷方式,ES5+,如果擔心運行時資源消耗的問題,可以看看 forEach and runtime cost。缺陷是不能使用 break,但可以用 try-catch 來 hack
map() ES5+,適用于“鏈式”場景,如 a.map(i => i + i).sort();
for-of ES6+,適用于全部元素的遍歷,缺陷是不知道 index
迭代器,ES6 新特性,大家可以慢慢玩
EOF
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/86435.html
摘要:總結(jié)中的循環(huán)遍歷定義一個數(shù)組和對象經(jīng)常用來遍歷數(shù)組元素遍歷值為數(shù)組元素索引用來遍歷數(shù)組元素第一個參數(shù)為數(shù)組元素,第二個參數(shù)為數(shù)組元素索引,第三個參數(shù)為數(shù)組本身可選沒有返回值用來遍歷數(shù)組元素第一個參數(shù)為數(shù)組元素,第二個參數(shù)為數(shù)組元素索引,第三 總結(jié)JavaScript中的循環(huán)遍歷 定義一個數(shù)組和對象 const arr = [a, b, c, d, e, f]; const obj = ...
摘要:日常開發(fā)中我們難免需要對數(shù)組和對象進行遍歷,今天抽空來總結(jié)下遍歷數(shù)組和對象常用的方法。使用遍歷對象注只能遍歷出自身可枚舉的屬性,而不能遍歷出原型鏈上面的屬性。 日常開發(fā)中我們難免需要對數(shù)組和對象進行遍歷,今天抽空來總結(jié)下遍歷數(shù)組和對象常用的方法。 Javascript遍歷數(shù)組總結(jié) 我們定義一個數(shù)組 var arr = [2,4,6]; 1.使用for循環(huán)遍歷 var lengt...
摘要:與稀疏數(shù)組對立的為密集數(shù)組,密集數(shù)組的索引會被持續(xù)的創(chuàng)建,并且其元素的數(shù)量等于其長度。創(chuàng)建一個長度為的數(shù)組,并初始化了個元素使用構(gòu)造函數(shù)創(chuàng)建數(shù)組對象的時候,關(guān)鍵字是可以省略的。另外使用和刪除元素是影響數(shù)組的長度的。 說明:本文只總結(jié)了JavaScript數(shù)組在web端的行為,不包括NodeJs端的行為。本文不涉及類型化數(shù)組(TypedArray)的討論、總結(jié)。 一、什么是數(shù)組 數(shù)組的定...
摘要:遍歷為了達到最佳性能來遍歷一個數(shù)組,最好的方式就是使用經(jīng)典的循環(huán)。盡管屬性是定義在數(shù)組本身的,但是在循環(huán)的每一次遍歷時仍然會有開銷。給屬性賦值一個更小的數(shù)將會截斷數(shù)組,如果賦值一個更大的數(shù)則不會截斷數(shù)組。 盡管數(shù)組在 Javascript 中是對象,但是不建議使用 for in 循環(huán)來遍歷數(shù)組,實際上,有很多理由來阻止我們對數(shù)組使用 for in 循環(huán)。 因為 for in 循環(huán)將會枚...
摘要:遍歷方法小結(jié)常用的遍歷方法遍歷對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果遍歷大家都熟悉,所以重點講一下與的區(qū)別相同點回調(diào)函數(shù)參數(shù)相同,都自帶三個屬性均不會修改原數(shù)組第二參數(shù)的 遍歷方法小結(jié) 常用的遍歷方法 for 遍歷 forEach(對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)) map(創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個...
摘要:中可以實現(xiàn)遍歷的數(shù)據(jù)類型主要是對象,其中包括普通對象與數(shù)組。遍歷器是一種接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機制。實例五遍歷器對象實例五是的遍歷過程,通過手動調(diào)用其對象的方法實現(xiàn)信息獲取。為每個數(shù)組元素執(zhí)行函數(shù)。 前言 ??將依據(jù)自身痛點學(xué)習(xí),計劃對原生JavaScript寫一個系統(tǒng),本文為第一篇,感興趣的同學(xué)可以關(guān)注個人公眾號:ZeroToOneMe,或者github博客,將持續(xù)...
閱讀 2001·2019-08-29 16:27
閱讀 1370·2019-08-29 16:14
閱讀 3372·2019-08-29 14:18
閱讀 3455·2019-08-29 13:56
閱讀 1252·2019-08-29 11:13
閱讀 2118·2019-08-28 18:19
閱讀 3439·2019-08-27 10:57
閱讀 2273·2019-08-26 11:39