ES6遍歷 特別

2021-10-05 08:09:20 字數 1452 閱讀 8393

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())

結果:

可以看到輸出的都是每個陣列元素的index。

0  

1 2

3 4

5 6

7 8

9 10

2.使用values()遍歷。

values()返回的是陣列元素值的遍歷器。

for (let val of  arr1.values())
結果:

a 

b c

d e

f g

h i

j k

3.使用entries()遍歷。

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

for (let [index, val] of arr1.entries())
結果:

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)

結果:

[ 0, 'a' ]

[ 1, 'b' ]

[ 2, 'c' ]

[ 3, 'd' ]

[ 4, 'e' ]

[ 5, 'f' ]

[ 6, 'g' ]

[ 7, 'h' ]

[ 8, 'i' ]

[ 9, 'j' ]

[ 10, 'k' ]

end

ES6遍歷物件

e s 6 一共有 5 種方法可以遍歷物件的屬性 for in for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含 symbol 屬性 object.keys obj object keys 返回 乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 object g...

ES6遍歷物件

e s 6 一共有 5 種方法可以遍歷物件的屬性 for in for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含 symbol 屬性 object.keys obj object keys 返回 乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 object g...

ES6遍歷物件

e s 6 一共有 5 種方法可以遍歷物件的屬性 for in for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含 symbol 屬性 object.keys obj object keys 返回 乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 object g...