过滤成两个不同的集合

问题描述 投票:0回答:1
(let [ truthys (filter #(filter-func %) coll)
       falsys (filter #(not filter-func %) coll)]

此代码遍历 coll 两次并对每个元素应用两次 filter-func 。我想知道,有没有一种方法可以一次性将 coll 过滤为truthys 和falsys?

clojure
1个回答
0
投票
(let [{truhys true, falsys false}
      (group-by filter-func coll)]
  ...)
© www.soinside.com 2019 - 2024. All rights reserved.