迭代数组时应该使用 for-of 还是 forEach? [复制]

2024-04-11

另外,这是风格问题还是功能问题?这是一个偏好问题还是一个更好?我试图理解 for-of 的目的。

通常我使用,

let iterable = [10, 20, 30];

iterable.forEach((val) => {
   console.log(val);
})

但我发现这个新语法是可用的。

let iterable = [10, 20, 30];
    
for (let value of iterable) {
   console.log(value);
}

能否提供 for-of 的最佳用例示例来说明何时应该使用它?


我建议始终使用for … of in ES6.

  • 它适用于任何iterable https://stackoverflow.com/a/41559281/1048572
  • 它支持循环体中的各种控制流,例如continue, break, return, yield and await.

我个人也认为它更具可读性,但这取决于偏好。有些人认为forEach是一种更具功能性的风格,但这是错误的 - 它没有结果值,并且只是产生副作用,因此看起来命令式的循环更适合该目的。

性能不是问题,在现代引擎中,所有循环样式都是等效的 https://youtu.be/m9cTaYI95Zc?t=951.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迭代数组时应该使用 for-of 还是 forEach? [复制] 的相关文章

随机推荐