【发布时间】:2012-07-30 23:22:05
【问题描述】:
我有一个 Javascript 数组,我想根据每个元素上调用的函数是返回 true 还是 false 来将其拆分为两个。本质上,这是一个array.filter,但我还希望手头上有被过滤的元素out。
目前,我的计划是使用array.forEach 并在每个元素上调用谓词函数。根据这是对还是错,我会将当前元素推送到两个新数组之一。有没有更优雅或更好的方法来做到这一点?例如,array.filter 会将元素推送到另一个数组中,然后返回 false?
【问题讨论】:
-
如果您可以发布一些示例代码,将有助于给您更好的答案!
-
无论您使用什么实现,Javascript 都必须:循环遍历项目,运行函数,将项目推送到数组中。我认为没有可以提高效率的方法。
-
你可以在传递给
.filter的回调中做任何你想做的事情,但是这样的副作用很难跟踪和理解。只需遍历数组并推送到一个或另一个数组。
标签: javascript