Clojure方法来更新向量中的地图

法里斯·纳苏蒂

在向量中更新地图的Clojure方法是什么?例如,如果我有这样的事情,假设每个地图都有唯一的 :name

(def some-vec
  [{:name "foo"
    ....}
   {:name "bar"
    ....}
   {:name "baz"
    ....}])

如果地图:name等于,我想以某种方式更新地图foo目前我正在使用map,像这样

(map (fn [{:keys [name] :as value}]
       (if-not (= name "foo")
         value
         (do-something .....))) some-vec)

但这将遍历整个向量,即使我仅更新一项。

缩图

将数据保留为地图,而不是以键为键的地图记录向量:name

(def some-data
  {"foo" {:name "foo" :other :stuff}
   "bar" {:name "bar" :other :stuff}
   "baz" {:name "baz" :other :stuff}})

然后

(assoc-in some-data ["bar" :other] :things)

产生

{"foo" {:other :stuff, :name "foo"},
 "bar" {:other :things, :name "bar"},
 "baz" {:other :stuff, :name "baz"}}

一气呵成。

您可以在中捕获基本操作

(defn assoc-by-fn [data keyfn datum]
  (assoc data (keyfn datum) datum))

例如,何时

(assoc-by-fn some-data :name {:name "zip" :other :fassner})

产生

{"zip" {:other :fassner, :name "zip"},
 "foo" {:other :stuff, :name "foo"},
 "bar" {:other :stuff, :name "bar"},
 "baz" {:other :stuff, :name "baz"}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新Clojure中的地图向量中的值

来自分类Dev

从Clojure中的向量构造地图

来自分类Dev

在 Clojure 中从地图构建嵌套向量

来自分类Dev

更简单的方法来打印出地图函数中的每个可迭代对象?

来自分类Dev

寻找最快的方法来获取向量中相同元素之间的所有间隔

来自分类Dev

有没有更好的方法来移动向量中的元素

来自分类Dev

有没有更好的方法来改组 C++ 中的向量?

来自分类Dev

是否有惯用的方法来干燥Clojure中的类似功能定义?

来自分类Dev

RESTFul方法来更新字段

来自分类Dev

RESTFul方法来更新字段

来自分类Dev

mongodb中是否有任何内置方法来更新mongodb文档中的数组

来自分类Dev

有没有更好的方法来编写将此代码插入到Clojure中的排序列表中的代码?

来自分类Dev

更干净/更短的方法来更新Redux中的嵌套状态?

来自分类Dev

是否有一种简便的方法来更新球拍中的特定结构字段?

来自分类Dev

如何创建通用方法来更新Slick中的多个列?

来自分类Dev

在Clojure中,如何正确更新嵌套地图?

来自分类Dev

有没有一种快速的方法来检查Clojure函数中的nil参数?

来自分类Dev

在Clojure中,如何合并两个地图向量?

来自分类Dev

在 clojure 中操作地图的两个向量

来自分类Dev

在 clojure 中,为什么 core.match 向量内的地图?

来自分类Dev

Clojure; 如何遍历地图向量,以便知道索引,以便能够在地图中更新?

来自分类Dev

Clojure中的向量与向量

来自分类Dev

如何进行部分更新或其他方法来更新PouchDb中的复杂文档?

来自分类Dev

通用的方法来通过getter和setter更新的POJO

来自分类Dev

有没有更好的方法来更新 PostgreSQL

来自分类Dev

错误:您必须使用“set”方法来更新条目

来自分类Dev

一种干净有效的方法来更新Pandas DataFrames中的单元格

来自分类Dev

猫鼬的findByIdAndUpdate方法来切换和更新数据库中的布尔值

来自分类Dev

是否有已知的方法来更新Google幻灯片API中的页面设置大小?

Related 相关文章

  1. 1

    更新Clojure中的地图向量中的值

  2. 2

    从Clojure中的向量构造地图

  3. 3

    在 Clojure 中从地图构建嵌套向量

  4. 4

    更简单的方法来打印出地图函数中的每个可迭代对象?

  5. 5

    寻找最快的方法来获取向量中相同元素之间的所有间隔

  6. 6

    有没有更好的方法来移动向量中的元素

  7. 7

    有没有更好的方法来改组 C++ 中的向量?

  8. 8

    是否有惯用的方法来干燥Clojure中的类似功能定义?

  9. 9

    RESTFul方法来更新字段

  10. 10

    RESTFul方法来更新字段

  11. 11

    mongodb中是否有任何内置方法来更新mongodb文档中的数组

  12. 12

    有没有更好的方法来编写将此代码插入到Clojure中的排序列表中的代码?

  13. 13

    更干净/更短的方法来更新Redux中的嵌套状态?

  14. 14

    是否有一种简便的方法来更新球拍中的特定结构字段?

  15. 15

    如何创建通用方法来更新Slick中的多个列?

  16. 16

    在Clojure中,如何正确更新嵌套地图?

  17. 17

    有没有一种快速的方法来检查Clojure函数中的nil参数?

  18. 18

    在Clojure中,如何合并两个地图向量?

  19. 19

    在 clojure 中操作地图的两个向量

  20. 20

    在 clojure 中,为什么 core.match 向量内的地图?

  21. 21

    Clojure; 如何遍历地图向量,以便知道索引,以便能够在地图中更新?

  22. 22

    Clojure中的向量与向量

  23. 23

    如何进行部分更新或其他方法来更新PouchDb中的复杂文档?

  24. 24

    通用的方法来通过getter和setter更新的POJO

  25. 25

    有没有更好的方法来更新 PostgreSQL

  26. 26

    错误:您必须使用“set”方法来更新条目

  27. 27

    一种干净有效的方法来更新Pandas DataFrames中的单元格

  28. 28

    猫鼬的findByIdAndUpdate方法来切换和更新数据库中的布尔值

  29. 29

    是否有已知的方法来更新Google幻灯片API中的页面设置大小?

热门标签

归档