這篇文章主要介紹了javascript中iterable常用遍歷方法是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)庫(kù)倫,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
在es6中,引入了新的Map和Set對(duì)象,Array可以通過(guò)下標(biāo)遍歷,而Map和Set無(wú)法通過(guò)下標(biāo)遍歷。為了統(tǒng)一集合,es引入了新的iterable類型,Array,Map,Set類型都屬于iterable。
講講常用的幾種遍歷方法。
1.for..in
var a = [1,2,3];for(var index in a ){ console.log(index); console.log(a[index]);}
上面分別輸出0,1,2 1,2,3
只有Array能有for..in Map和Set都不能使用,for..in遍歷的是索引
2.for..of
for(var x of a){ console.log(x);}
var d = new Set(['A', 'B', 'C']);for(var dd of d){ console.log(dd);}
for..of遍歷的是值
這是上面運(yùn)行的結(jié)果。
for..of 與 for..in的區(qū)別
for..of是es6新引入的概念,
for ... in
循環(huán)由于歷史遺留問題,它遍歷的實(shí)際上是對(duì)象的屬性名稱。一個(gè)Array
數(shù)組實(shí)際上也是一個(gè)對(duì)象,它的每個(gè)元素的索引被視為一個(gè)屬性。
當(dāng)我們手動(dòng)給Array
對(duì)象添加了額外的屬性后,for ... in
循環(huán)將帶來(lái)意想不到的意外效果:
var a = ['A', 'B', 'C']; a.name = 'Hello';for (var x in a) { console.log(x); // '0', '1', '2', 'name'
3.foreach()方法
var d = new Set(['A', 'B', 'C']);for(var dd of d){ console.log(dd);}
var s2 = new Map([[1,'hxy'],[2,'yyw'],[3,'zzh']]);s2.forEach(function (value,key,map) { console.log(key+":"+value);})
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享javascript中iterable常用遍歷方法是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!