本文由 DTcms素材网 – DT素材网 发布,转载请注明出处,如有问题请联系我们!javascript中的iterable常用的几种遍历方法
收藏本篇文章给大家带来的内容是关于javascript中的iterable常用的几种遍历方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
在es6中,引入了新的Map和Set对象,Array可以通过下标遍历,而Map和Set无法通过下标遍历。为了统一集合,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遍历的是值
这是上面运行的结果。
for..of 与 for..in的区别
for..of是es6新引入的概念,
for ... in
循环由于历史遗留问题,它遍历的实际上是对象的属性名称。一个Array
数组实际上也是一个对象,它的每个元素的索引被视为一个属性。
当我们手动给Array
对象添加了额外的属性后,for ... in
循环将带来意想不到的意外效果:
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);})