javascript - Array.keys相关问题
怪我咯
怪我咯 2017-04-11 12:54:04
0
1
734

问题1:
Array.keys()返回的是一个iterator对象

var arr = ['a','b','c'];
toString.call(arr.keys()); //返回的是"[object Array Iterator]" iterator对象

但为什么调用掉用arr.keys().next() 一直是返回Object {value: 0, done: false}
而如果把它赋值给变量
var iterator = arr.keys();
调用iterrator.next(),则返回正常?

问题2:
arr = [...arr.keys()]这里的'...'是什么意思

怪我咯
怪我咯

走同样的路,发现不同的人生

reply all(1)
Ty80
  1. 每次你call arr.keys()都生成新的Array Iterator, 所以每次arr.keys().next()永远返回数组第一个index. 把iterator赋值给变量,这样你每次使用的都是同一个iterator而非建立的新iterator,这样自然结果就对了

  2. 这是展开运算符,它用来进行变量展开, 具体用法参照https://developer.mozilla.org...

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template