首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到具有特定值的映射键?

如何找到具有特定值的映射键?
EN

Stack Overflow用户
提问于 2017-09-01 09:51:42
回答 2查看 1K关注 0票数 4

例如在地图上:

代码语言:javascript
复制
{"test-1" 23,
 "test-2" 456,
 "test-3" 23}

如何查找具有值23的键

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 23:27:07

如果你想用Specter找到一些东西,最好使用specter/select.

代码语言:javascript
复制
(use 'com.rpl.specter)    

(select [ALL #(= (second %) 23) FIRST]
  {"test-1" 23,
   "test-2" 456,
   "test-3" 23})
票数 4
EN

Stack Overflow用户

发布于 2017-09-01 10:25:00

我想你不需要幽灵来做这件事,只要按价值过滤就行了。即:

代码语言:javascript
复制
(->> {:key-1 10
      :key-2 20
      :key-3 10}
      (filter (fn [[k v]] (= v 10)))
      (map first))
==>  [:key-1 :key-3]

Specter的一个解决方案是:

代码语言:javascript
复制
(keys (specter/setval [specter/MAP-VALS #(not= 10 %)]
                       specter/NONE
                       {:key-1 10
                        :key-2 20
                        :key-3 10}))
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45997554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档