search

Home  >  Q&A  >  body text

javascript - Array.keys相关问题

问题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()]这里的'...'是什么意思

怪我咯怪我咯2789 days ago733

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 12:56:04

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

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

    reply
    0
  • Cancelreply