在地图中,例如:
如何找到值为
{"test-1" 23,
"test-2" 456,
"test-3" 23}
如何找到值为
23
的键?我认为你不需要使用幽灵漏洞来做到这一点,只需要按值进行过滤即可。比如:
(->> {:key-1 10
:key-2 20
:key-3 10}
(filter (fn [[k v]] (= v 10)))
(map first))
==> [:key-1 :key-3]
(keys (specter/setval [specter/MAP-VALS #(not= 10 %)]
specter/NONE
{:key-1 10
:key-2 20
:key-3 10}))
seq
,因为 filter
会自动对其输入进行序列化。 - z7sg Ѫ如果您想使用Specter查找某些内容,最好使用specter/select。
(use 'com.rpl.specter)
(select [ALL #(= (second %) 23) FIRST]
{"test-1" 23,
"test-2" 456,
"test-3" 23})