Rumah > hujung hadapan web > tutorial js > javascript中的iterable常用的几种遍历方法

javascript中的iterable常用的几种遍历方法

云罗郡主
Lepaskan: 2018-10-22 16:29:25
ke hadapan
3243 orang telah melayarinya

本篇文章给大家带来的内容是关于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]);}
Salin selepas log masuk

上面分别输出0,1,2 1,2,3

只有Array能有for..in Map和Set都不能使用,for..in遍历的是索引

2.for..of

for(var x of a){
    console.log(x);}
Salin selepas log masuk
var d =  new Set(['A', 'B', 'C']);for(var dd of d){
    console.log(dd);}
Salin selepas log masuk
Salin selepas log masuk

for..of遍历的是值

2018032916270646.png

这是上面运行的结果。

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'
Salin selepas log masuk

3.foreach()方法

var d =  new Set(['A', 'B', 'C']);for(var dd of d){
    console.log(dd);}
Salin selepas log masuk
Salin selepas log masuk
var s2 = new Map([[1,'hxy'],[2,'yyw'],[3,'zzh']]);s2.forEach(function (value,key,map) {
    console.log(key+":"+value);})
Salin selepas log masuk

2018032916424344.png

以上就是对javascript中的iterable常用的几种遍历方法的全部介绍,如果您想了解更多有关JavaScript视频教程,请关注PHP中文网。


Atas ialah kandungan terperinci javascript中的iterable常用的几种遍历方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
javascript - es6中ini
daripada 1970-01-01 08:00:00
0
0
0
JavaScript ES6中 Number.isFinite() 和 Number.isNaN()
daripada 1970-01-01 08:00:00
0
0
0
masalah penyerahan borang jquery
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan