ES6,数组遍历

摘要:
ES6为数组遍历器提供了条目()、键()和值()方法。对于遍历器,可以使用For Of方便,也可以使用迭代器iterator。next()方法由要遍历的条目()返回。Values()返回数组元素值的迭代器。对于{console.log;}结果:abcdefghijk3。使用条目()进行遍历。对于{console.log;}结果:0‘a‘b‘2‘c‘3‘d‘4‘e‘5‘f‘6‘g‘7‘h‘8‘i‘9‘j‘10‘k‘4。使用迭代器。next()遍历。您可以通过条目获取value属性,该条目是元素和值数组的索引。

ES6提供了entries(),keys(),values()方法返回数组的遍历器,对于遍历器(Iterator)可以使用for...of进行便利,也可是使用entries()返回的遍历器Iterator.next()方法进行遍历。

1.使用keys()遍历。

keys()返回的是数组元素索引号的遍历器。

const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
for (let index of arr1.keys()) {
  console.log(index);
}

结果:

可以看到输出的都是每个数组元素的index。

0  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10 

2.使用values()遍历。

values()返回的是数组元素值的遍历器。

for (let val of  arr1.values()) {
  console.log(val);
}

结果:

a 
b 
c 
d 
e 
f 
g 
h 
i 
j 
k 

3.使用entries()遍历。

配合解构使用,可以拿到元素的index和value。

for (let [index, val] of arr1.entries()) {
  console.log(index, val);
}

结果:

0 'a'
1 'b'
2 'c'
3 'd'
4 'e'
5 'f'
6 'g'
7 'h'
8 'i'
9 'j'
10 'k'

4.使用Iterator.next()遍历。

基于entries()返回的遍历器,调用遍历器的next()的方法可以获取每一个元素的访问入口,该入口有一个done属性可以表明是否便利结束。通过入口可以拿到value属性,其就是元素的索引和值的数组。

let arrEntries=arr1.entries();
let entry=arrEntries.next();
while(!entry.done){
  console.log(entry.value);
  entry=arrEntries.next();
}

结果:

[ 0, 'a' ]
[ 1, 'b' ]
[ 2, 'c' ]
[ 3, 'd' ]
[ 4, 'e' ]
[ 5, 'f' ]
[ 6, 'g' ]
[ 7, 'h' ]
[ 8, 'i' ]
[ 9, 'j' ]
[ 10, 'k' ]

End

免责声明:文章转载自《ES6,数组遍历》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring Boot 异步请求和异步调用,一文搞定PCL特征点与配准(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

PS如何把印章颜色加重更加清晰?

我的问题是加深这个印章上的红色,然后看起来更清晰,而不会影响最下面一行文字的颜色。步骤1:打开PS软件并创建新文档。白边的实际密封尺寸设置为5cm,分辨率设置为72像素/英寸。在本例中,图像更清晰;步骤2:在工具栏中选择椭圆工具。注意图中的红色圆圈2。确保选择图形层而不是路径。...

10 TCP限流技术

TCP流限制的原因是接收方可以完全接受消息,以确保数据安全而不会丢失。首先,窗口机制引入了发送方和接收方都有一个窗口。当发送方发送数据时,将发送落入窗口中的数据。当接收器接收到数据时,落入接收器窗口的数据将被接受。可以看出,流量会受到窗口大小II的限制。滑动窗口技术1TCP滑动窗口技术通过动态改变窗口大小来调整两台主机之间的数据传输。...

Fiddler抓包7-post请求(json)(转载)

2.查看上图中的红色框:这里只支持application/x-www-form-urlencoded格式的body参数,即json格式。您需要检查JOSN列中的five和xml。1.如果遇到text/xml格式的正文,如下图所示...

Swift开发中 JSON对象/JSON字符串/Data的互转

本文将介绍常见的转换#pragmark JSON(object)------˃JSON string 1,原生方法//JSON------˃data------˃JSON string letdata=try?JSON序列化。data#pragmark数据------˃JSON(对象)1.本机方法guardletarray=try?[[String:AnyO...

Redis的安装和简单使用

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。Redis安装1、要安装Redis,首先要获取安装包。这是访问Redis时所需的密码,一般测试情况下可以不用设定密码。再在右侧找到Redis名称的服务,查看...

YAML快速入门

基本格式要求1,YAML大小写敏感;2,使用缩进代表层级关系;3,缩进只能使用空格,不能使用TAB,不要求空格个数,只需要相同层级左对齐对象使用冒号代表,格式为key:value。|符号常见用于在YAML中配置HTML片段:phraseTemplate:|sometemplate${msg}5,引用。...