摘要:可用于數(shù)組的遍歷為遍歷會(huì)遍歷對(duì)象所有可枚舉的屬性,包括的,可通過(guò)來(lái)過(guò)濾,使得只有私有屬性被遍歷遍歷用于遍歷所有可遍歷有屬性的的數(shù)值用于數(shù)組遍歷用于對(duì)象屬性值遍歷這里的對(duì)象必須是的遍歷適合用來(lái)遍歷數(shù)組,也可用于遍歷數(shù)組,但是如果通過(guò)為原生對(duì)象
var arr = [18,20,26];
var obj = {name:"xiaohong",sex:"f",age:"18"};
for 可用于數(shù)組的遍歷
for(var i=0;ifor in/for of 遍歷
for in 會(huì)遍歷對(duì)象所有可枚舉的屬性,包括prototype的,可通過(guò)hasOwnProperty()來(lái)過(guò)濾,使得只有私有屬性被遍歷 for(var key in obj){ //遍歷key if(obj.hasOwnProperty(key)){ console.log(key+":"+obj[key]); } } for of 用于遍歷所有可遍歷(有Symbol.iterator屬性)的collection的數(shù)值 //用于數(shù)組遍歷 for(var val of arr){ console.log(val); } //用于對(duì)象屬性值遍歷,這里的對(duì)象必須是iterable的 for(var val of obj){ console.log(val); } or for(var [key,val] of obj){ //遍歷key & value console.log(key+":"+val); }Note: for...of適合用來(lái)遍歷數(shù)組,for…in也可用于遍歷數(shù)組,但是如果通過(guò)Array.prototype.xxx為Array原生對(duì)象添加了屬性,則會(huì)在該遍歷中被讀到。
foreach,map,filter,reduce 用于數(shù)組遍歷
foreach 用于數(shù)組遍歷,無(wú)返回值
arr.foreach(function(value,index,thisArray){ //三個(gè)參數(shù),分別為索引,值,當(dāng)前array console.log(index+":"+value); });map和filter會(huì)返回一個(gè)新的數(shù)組
var newArr = arr.map(function(value,index,thisArray){ //三個(gè)參數(shù),分別為索引,值,當(dāng)前array return value*2; }); var newArr = arr.filter(function(value,index,thisArray){ //三個(gè)參數(shù),分別為索引,值,當(dāng)前array return value>100; //根據(jù)return為false或true來(lái)決定是否留下當(dāng)前元素 });reduce會(huì)返回一個(gè)累加值
var sum = arrreduce.reduce(function(previousValue, currentValue, currentIndex, thisArray) { return previousValue + currentValue; });Note: 以上函數(shù)都可以用箭頭函數(shù)書(shū)寫(xiě),例如reduce:
var sum = arrreduce.reduce((previousValue, currentValue) => previousValue + currentValue);使用iterator進(jìn)行遍歷
主要是通過(guò)iterator的next()函數(shù)進(jìn)行遍歷,需要定義generator和[Symbol.iterator]屬性。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91060.html
摘要:語(yǔ)法參數(shù)當(dāng)前遍歷項(xiàng)。遍歷的范圍在第一次調(diào)用前就會(huì)確定。已刪除的項(xiàng)不會(huì)被遍歷到。的是由提出的,目的是作為遍歷所有數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一方法。不僅可以遍歷數(shù)組,還可以遍歷結(jié)構(gòu),某些類(lèi)似數(shù)組的對(duì)象如對(duì)象對(duì)象,對(duì)象,以及字符串。 即使是最簡(jiǎn)單的循環(huán),其中也深藏學(xué)問(wèn) ECMAScript5(es5)有三種for循環(huán) 簡(jiǎn)單for for in forEach ECMAScript6(es6)新增 fo...
摘要:是現(xiàn)在廣泛流行的代從開(kāi)始學(xué)習(xí)系列之向提交代碼掘金讀完本文大概需要分鐘。為了進(jìn)行高效的垃圾回收,虛擬機(jī)把堆內(nèi)存劃分成新生代老年代和永久代中無(wú)永久代,使用實(shí)現(xiàn)三塊區(qū)域。 React Native 開(kāi)源項(xiàng)目 - 仿美團(tuán)客戶(hù)端 (Android、iOS 雙適配) - Android - 掘金推薦 React Native 學(xué)習(xí)好項(xiàng)目,仿照美團(tuán)客戶(hù)端... 極簡(jiǎn) GitHub 上手教程 - 工具...
摘要:數(shù)組的特別之處在于,當(dāng)使用小于的非負(fù)整數(shù)作為屬性名時(shí)數(shù)組會(huì)自動(dòng)維護(hù)其屬性值。返回的數(shù)組包含第一個(gè)參數(shù)指定的位置和所有到但不含第二個(gè)參數(shù)指定的位置之間的所有數(shù)組元素。數(shù)組中只需有一項(xiàng)滿(mǎn)足給定條件則返回。 概念 JavaScript數(shù)組是JavaScript對(duì)象的特殊形式。數(shù)組索引實(shí)際上和碰巧是整數(shù)的屬性名差不多,使用方括號(hào)訪問(wèn)數(shù)組元素就像用方括號(hào)訪問(wèn)對(duì)象的屬性一樣。JavaScript將...
摘要:輔助方法這個(gè)方法遞歸遍歷的子節(jié)點(diǎn),將節(jié)點(diǎn)交由回調(diào)函數(shù)處理。對(duì)集合進(jìn)行遍歷,調(diào)用方法,如果為函數(shù),則將回調(diào)函數(shù)返回的結(jié)果作為參數(shù)傳給否則,如果為,則將也即包裹元素的副本傳給,否則直接將傳給。 這篇依然是跟 dom 相關(guān)的方法,側(cè)重點(diǎn)是操作 dom 的方法。 讀Zepto源碼系列文章已經(jīng)放到了github上,歡迎star: reading-zepto 源碼版本 本文閱讀的源碼為 zepto...
閱讀 933·2023-04-26 01:34
閱讀 3367·2023-04-25 20:58
閱讀 3308·2021-11-08 13:22
閱讀 2121·2019-08-30 14:17
閱讀 2531·2019-08-29 15:27
閱讀 2682·2019-08-29 12:45
閱讀 3007·2019-08-29 12:26
閱讀 2821·2019-08-28 17:51