clojure - 更新嵌套地图中的向量
问题描述
我目前正在对嵌套地图中包含的向量进行操作:
(def map {:key1 {:key2 [1 2 3]}})
现在我正在寻找最实用的方法来更新该向量中的单个值。我可以通过提取向量来执行隔离更新:
(assoc (get-in map [:key1 :key2]) 2 '(3 4 5))
但是,我没有成功在地图内进行更新。如果功能适用,“update-in”将起作用。但是,我仍然会通过函数发送完整的向量,而不是更新单个值。
解决方案
您可以assoc-in
使用向量中的索引调用:
(assoc-in map [:key1 :key2 2] '(3 4 5))
; => {:key1 {:key2 [1 2 (3 4 5)]}}
推荐阅读
- angularjs - Angular Js 路由停止处理更改版本
- python - 在 python 中使用正则表达式验证密码强度
- python - 如何在浏览器最小化时使用 selenium webdriver 执行测试
- python - 如何使用 PySpark 并行化函数
- c++ - 将 C++ 成员函数传递给 C 函数
- mongodb - MongoDB - 使用增量值更新属性
- calculus - 当 v =[2,1,2] 和 PQ = [1,0,3] 时,如何确定 v 和 PQ 之间的距离?P = [0,0,0] Q = [1,0,3]
- c++ - 来自 SDL_CreateTextureFromSurface() 的“无效纹理”错误?
- javascript - 使用 Symfony 和 Twig 从 href 中的外部 JavaScript 文件调用函数
- ios - 在 ViewController 的视图中交换 UIViews