为什么'arr.values()'抛出错误“arr.values不是函数”

时间:2017-08-06 08:03:53

标签: javascript arrays ecmascript-6

    it('`values()` returns an iterator', function() {
      const arr = ['k', 'e', 'y'];
      const iterator = arr.values();
      iterator.next();
      iterator.next();
      terator.next();

      assert.deepEqual(iterator.next(), {value: void 0, done: true});
  });

没有通过测试。 我在chrome控制台上试了arr.values()并得到了同样的错误。 它不是标准化的阵列方法吗?

2 个答案:

答案 0 :(得分:3)

Array#values目前为not implemented in most browsers。为了让你使用它,你需要通过Babel进行转换。

答案 1 :(得分:2)

array.values是ECMAScript 2015(ES6) - 目前尚未在大多数浏览器中实现。

来自

enter image description here

来自Mozilla MDN