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...