【发布时间】:2018-10-12 21:07:59
【问题描述】:
在过去的一年里,我更频繁地使用像 map 和 filter 这样的数组方法,而不是数组上的标准 for 循环。它读起来和写起来感觉更简单,而且做所有我最有可能做的事情,比如创建一个局部变量。
但我通常不会返回任何东西。不过,埃斯林特不太喜欢我。据他们说,他们说你总是需要退货,否则它“可能是一个错误” https://eslint.org/docs/rules/array-callback-return
为什么?只是好的做法?无返回数组方法的缺点是什么?
想了很久。任何见解或想法都会很棒。
【问题讨论】:
-
如果不使用这些函数的结果,为什么要使用
map/filter而不是forEach? -
ESLint 是正确的 - 如果您在
map或filter回调中没有return语句,那么您确实很可能在滥用它。他们依靠返回值来运作。否则,您只是无缘无故地遍历数组。在这种情况下,您应该使用.forEach -
您也可以使用for...of loop。
-
老实说,不知道为什么我没有考虑 forEach。这也是我使用 eslint 的原因,因为在我改变之前,它会让我很恼火。 :)
-
根据回复,我向 eslint 文档添加了一个拉取请求,以帮助指导其他人。谢谢你们。 github.com/eslint/eslint/pull/10301
标签: javascript arrays ecmascript-6 eslint