如果key存在:update,否则:assoc

时间:2016-02-11 00:29:43

标签: clojure clojurescript

在reduce循环中考虑这个:

queryOptions

有没有办法摆脱if语句?

2 个答案:

答案 0 :(得分:19)

当地图中不存在Template时,使用fnil来处理v的空值:

k

答案 1 :(得分:1)

虽然fnil答案更加引人注目,但我发现以下内容更容易阅读,尤其是在不熟悉fnil的情况下:

(assoc m k (conj (m k []) v))

其中(m k [])返回km的值,如果[]中不存在k,则默认为m

如果k是符号,(k m [])也可以。