Eri*_*ver 15 clojure map filter
nil从Clojure地图过滤值的最佳方法是什么{}?
{ :a :x :b nil :c :z }
;;=> { :a :x, :c :z }
Run Code Online (Sandbox Code Playgroud)
mik*_*era 36
我会用:
(into {} (filter (comp some? val) {:a :x, :b nil, :c :z}))
=> {:a :x, :c :z}
Run Code Online (Sandbox Code Playgroud)
做一些?显式检查很重要,因为如果你这样做,(into {} (filter val {...}))你将错误地删除布尔值为false的值.
我使用以下代码:
(into {} (filter val {:a 1, :b 2, :c nil}))
;;=> {:a 1, :b 2}
Run Code Online (Sandbox Code Playgroud)
注意:这将删除错误值和nils
| 归档时间: |
|
| 查看次数: |
8603 次 |
| 最近记录: |