成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

javascript之遍歷數(shù)組及對(duì)象

Shihira / 597人閱讀

摘要:可用于數(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;i

for 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);
});

mapfilter會(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

相關(guān)文章

  • js遍歷for forEach in of

    摘要:語(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...

    yeyan1996 評(píng)論0 收藏0
  • 類(lèi)的加載機(jī)制 - 收藏集 - 掘金

    摘要:是現(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 上手教程 - 工具...

    Gilbertat 評(píng)論0 收藏0
  • JavaScript數(shù)組

    摘要:數(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將...

    coolpail 評(píng)論0 收藏0
  • 讀 Zepto 源碼操作 DOM

    摘要:輔助方法這個(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...

    beita 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Shihira

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<