数组的迭代器 iterator

 

Chrome F12 console测试:

 

arr.values 迭代器

arr.values
ƒ values() { [native code] }
arr.values()
Array Iterator {}
arr.keys
ƒ keys() { [native code] }
arr.keys()
Array Iterator {}
var keys = arr.keys()
undefined
keys.next()
{value: 0, done: false}
keys.next()
{value: 1, done: false}
keys.next()
{value: 2, done: false}
keys.next()
{value: 3, done: false}
keys.next()
{value: 4, done: false}
keys.next()
{value: 5, done: false}
keys.next()
{value: 6, done: false}
keys.next()
{value: undefined, done: true}
arr (
7) [7, 6, empty, 4, 3, 2, 1]

 

arr.keys

var values = arr.values()
undefined
values.next()
{value: 7, done: false}
values.next()
{value: 6, done: false}
values.next()
{value: undefined, done: false}
values.next()
{value: 4, done: false}
values.next()
{value: 3, done: false}
values.next()
{value: 2, done: false}
values.next()
{value: 1, done: false}
values.next()
{value: undefined, done: true}

 

arr.valueOf()

arr.valueOf()
(7) [7, 6, empty, 4, 3, 2, 1]
0: 7
1: 6
3: 4
4: 3
5: 2
6: 1
length: 7
__proto__: Array(0)


var info = arr.valueOf()

  typeof info
  "object"

 

实际类似指针移动操作。

 

posted @ 2018-11-20 11:32  aocn  阅读(271)  评论(0)    收藏  举报