理解 ES7 中的 Array.prototype.values() 方法的实现及其使用场景

阅读时长 3 分钟读完

在 ES7 中,新增加了一个 Array.prototype.values() 方法,它返回一个新的 Array Iterator 对象,该对象按照数组元素的顺序,包含了数组中每个元素的值。

方法实现

Array.prototype.values() 方法的实现非常简单,它只需要返回一个新的 Array Iterator 对象即可。这个 Iterator 对象可以用 for...of 循环来遍历数组中的每个元素。

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

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

---------------------------- - ---------- -
  -- ----------- -- ------------------ -
    ------ - ----- ---- --
  - ---- -
    ------ - ------ ------------------------- ----- ----- --
  -
--
展开代码

使用场景

Array.prototype.values() 方法可以用来遍历数组中的每个元素。在 ES6 中,我们可以使用 for...of 循环来遍历数组,但是这种方法只能获取到数组元素的值,而不能获取到它们的索引。

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

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

-- ---
-- -
-- -
-- -
展开代码

如果我们需要获取数组元素的索引,可以使用 for 循环来遍历数组,但是这种方法需要手动维护索引,并且代码比较繁琐。

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

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

-- ---
-- - -
-- - -
-- - -
展开代码

Array.prototype.values() 方法可以解决这个问题,它返回一个包含数组元素值的 Iterator 对象,我们可以使用 for...of 循环来遍历 Iterator 对象,并且获取到数组元素的索引。

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

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

-- ---
-- - -
-- - -
-- - -
展开代码

在上面的例子中,我们使用了 Array.prototype.entries() 方法来获取一个包含数组索引和值的 Iterator 对象,然后使用 for...of 循环来遍历 Iterator 对象,并且解构出了数组索引和值。

总结

Array.prototype.values() 方法是一个非常实用的方法,它可以用来遍历数组中的每个元素,并且获取到它们的索引。在实际开发中,我们可以使用它来简化代码,并且提高代码的可读性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/657e5940d2f5e1655d92e7bf

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试