解决 ES9 中 Array.prototype.forEach() 方法的错误

阅读时长 3 分钟读完

问题

在 ES9 中,如果你尝试使用 Array.prototype.forEach() 方法遍历数组,你可能会遇到以下错误:

这个错误的出现是因为在 ES9 中,当使用 forEach() 方法时,如果传入的参数不是一个可迭代的对象,就会出现这个错误。

解决方法

解决这个错误的方法很简单,你只需要将传入 forEach() 方法的参数转换成可迭代的对象就行了。有几种方法可以做到这一点。

方法一:使用 Array.from()

你可以使用 Array.from() 方法将类数组对象转换为真正的数组,然后再使用 forEach() 方法遍历数组。

方法二:使用展开运算符

你可以使用展开运算符...将类数组对象转换为数组,然后再使用 forEach() 方法遍历数组。

案例

下面我们来看一个具体的案例。假设我们有一个类数组对象,我们想要遍历它并将每个值乘以 2。 如果我们直接使用 forEach() 方法,就会出现上述错误:

我们可以使用上述两种方法中的任意一种解决这个问题:

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

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

总结

在 ES9 中,使用 Array.prototype.forEach() 方法时,如果传入的参数不是可迭代的对象,就会出现类型错误。为了解决这个问题,我们可以使用 Array.from() 方法或展开运算符将类数组对象转换为数组,然后再使用 forEach() 方法遍历数组。

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

纠错
反馈