你可能不需要循环

Avatar of Robin Rendle
Robin Rendle

DigitalOcean 为您旅程的每个阶段提供云产品。开始使用 200 美元的免费积分!

Ire Aderinokun 撰写了一篇使用循环的巧妙文章,以及我们何时可以考虑用其他方法替换它,例如 .map().filter()。我特别喜欢她在这里所说的内容

正如我之前提到的,循环在很多情况下都是一个很棒的工具,这些新方法的存在并不意味着循环不应该被完全使用。

我认为这些方法很棒,因为它们提供的代码在某种程度上是自文档化的。当我们使用 filter() 方法而不是 for 循环时,更容易一目了然地理解逻辑的用途。

但是,这些方法有非常具体的用例,如果它们的全部价值没有被使用,可能会过度使用。例如 map() 方法,它在技术上可以用来替换几乎任何任意循环。如果在我们的第一个示例中,我们只想修改原始的 articles 数组,而不是创建一个新的、修改后的、amazingArticles,那么使用此方法将是不必要的。重要的是使用适合每个场景的方法,以确保我们不会过度或不足。

如果您有兴趣更深入地研究这个主题,Adan Giese 之前写过一篇关于 .filter() 方法的 很棒的文章,绝对值得一看。哦,说到处理循环的多种不同方法,Chris 编译了一个遍历 querySelectorAll NodeLists 的选项列表,其中 forEach 只是众多选项之一。

直接链接 →