ES7 中的 Array.prototype.values 方法及其用例

在 ES7 中,JavaScript 新增了一个非常方便的 Array 原型方法 Array.prototype.values()。这个方法是为了返回一个新的迭代器对象,迭代器对象中包含了数组中的每个元素。

Array.prototype.values() 方法的语法

Array.prototype.values() 方法没有参数,其语法如下:

------------

其中 arr 是待返回迭代器的数组对象。

Array.prototype.values() 方法的作用

Array.prototype.values() 方法返回一个迭代器对象,该对象包含了数组中每个元素的value值。这个迭代器对象能够遍历数组中所有的元素,包括那些被删除或者那些数组中不存在的元素。

Array.prototype.values() 方法的示例

----- --- - --------- --------- --------

----- -------- - -------------

----------------------------------- -- -------
----------------------------------- -- --------
----------------------------------- -- ------
----------------------------------- -- ---------
----------------------------------- -- ---------

以上代码中,我们定义了一个 arr 数组,该数组包含了三个元素。然后,我们调用了 arr.values() 方法,获取了一个迭代器对象 iterator。接着,我们通过调用 iterator.next() 方法取出迭代器对象中下一个元素的值,直到迭代完整个数组。

此外,因为迭代器对象可以遍历数组中所有的元素,所以 Array.prototype.values() 方法可用于直接使用 for-of 循环,如下示例代码:

----- --- - --------- --------- --------

--- ------ ---- -- ------------- -
  ------------------
-

以上代码等同于如下代码:

----- --- - --------- --------- --------

--- ------ ---- -- ---- -
  ------------------
-

主要区别在于,前者使用了 arr.values() 方法获取数组迭代器对象并通过 for-of 遍历数组,后者直接使用 for-of 遍历数组。虽然两者在结果上没有区别,但使用 arr.values() 方法将更加明确和直观。

为什么要使用 Array.prototype.values() 方法

使用 Array.prototype.values() 方法可以为我们的开发工作带来以下好处:

  • 获取数组迭代器对象,简化数组迭代操作;
  • 支持读取和迭代数组中每个元素的 values 值;
  • 可以使用迭代器遍历数组中所有存在和不存在的元素。

结论

在 ES7 中,Array 增加了一个非常方便的原型方法 Array.prototype.values()。该方法可以直接获取数组迭代器对象,并且简化了对数组的迭代操作。同时,它还支持读取和迭代数组中每个元素的 value 值,能够使用迭代器遍历数组中的所有元素,包括那些不存在的元素。因此,建议在开发中积极使用 Array.prototype.values() 方法,以提高工作效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67395500317fbffedf164231