ES6,數組遍歷

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章