說我有一個地圖m
像{"good1" 1, "bad1" 1, "good2" 2, "bad2" 2}
,我想基於一些謂詞在地圖鍵刪除條目,要做到這一點的一種方式是:刪除鍵
(defn dissoc-by [f m] (->> m (filter (complement f)) (into {})))
(dissoc-by #(.contains (first %1) "bad") m)
=> {"good1" 1, "good2" 2}
有沒有更clojure這樣做的習慣方法?
良好的漁獲!我剛剛也注意到了這一點,但也許決定一個更一般的解決方案是將鍵值對傳遞給謂詞。我也意識到,函數的命名約定意味着謂詞應該刪除,而不是保留元素。 – user12341234
是的,那在問題的方式以及。 [sic] –
選擇匹配輸入還是輸出呃? –