我是clojure的新手,需要一些帮助。
在clojurescript中,我使用地图(存储在原子中)建立一个html表,例如
[{:id 2, :category "Big bang theory", :name "The Big Bang!"}
{:id 3, :category "The big Lebowski", :name "Ethan Coen"}
{:id 4, :category "Chitty Chitty Bang Bang", :name "Roald Dahl"}]
我想创建一个搜索单词的搜索(例如" ban")zh_cn返回一个地图,其中包含在其某个键值中包含该单词(或其中一部分)的条目。
如果"禁止"它应该返回
[{:id 2, :category "Big bang theory", :name "The Big Bang!"}
{:id 4, :category "Chitty Chitty Bang Bang", :name "Roald Dahl"}]
根据上面的地图,该表只更新了这两个条目。
我找到了一些有趣的解决方案,但它们都集中在一个键(即:category或:name)上,而不是地图条目中的所有键。
我认为this试图达到同样目的,但我不认为有人给出了答案。任何帮助表示赞赏:D
答案 0 :(得分:6)
(def maps
[{:id 2, :category "Big bang theory", :name "The Big Bang!"}
{:id 3, :category "The big Lebowski", :name "Ethan Coen"}
{:id 4, :category "Chitty Chitty Bang Bang", :name "Roald Dahl"}])
(filter
#(some
(fn [v]
(when (string? v)
(-> v
(str/lower-case)
(str/includes? "ban"))))
(vals %))
maps)