在嵌套哈希图中创建多个相同深度值的集合

恐龙交友

这是一个名为args的假设哈希图:

{:body {:milestones [{:status 1 :otherValues x} 
                     {:status 2 :otherValues z} 
                     {:status 1 :otherValues y]}}

我的目标是为每个:status键收集值。它们都是:milestones的子元素,深度相同。

我越来越近了 我知道如何通过执行以下操作来检索第一个状态的值:

(let [{[{:keys [status]} x] :milestones} :body} args]
  (println status))

最远端的目标是找出哪些地图包含值1的:status,并为每个单独的地图创建一个新的集合。

字面上的应用是连接到TeamworkPM并与Google Calenders同步状态为“迟到”或“未完成”的里程碑。

在这种情况下,所需的输出将为{1、2、1}。最终目标是拥有

 {{:status 1 :otherValues x} 
  {:status 1 :otherValues Y}}
单元

尽管我找不到如何将map的向量直接分解为变量的方法,但是您可以先获取的子元素:milestones,然后使用basicmapfilter

请注意,您可以通过将map用作函数来获取其值。(例如,如果m{:key1 "val1"}(m :key1)将是"val1"

(def args {:body {:milestones [{:status 1 :otherValues 'x}
                               {:status 2 :otherValues 'z}
                               {:status 1 :otherValues 'y}]}})

(let [{{x :milestones} :body} args,
        y (map #(% :status) x),
        z (filter #(= (% :status) 1) x)
      ]
      (println x) ; [{:status 1, :otherValues x} {:status 2, :otherValues z} {:status 1, :otherValues y}]
      (println y) ; (1 2 1)
      (println z) ; ({:status 1, :otherValues x} {:status 1, :otherValues y})
  )

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在嵌套哈希图中创建多个相同深度值的集合

来自分类Dev

哈希图中每个键的值相同

来自分类Dev

平均哈希图中的值

来自分类Dev

在哈希图中覆盖的值

来自分类Dev

如何在嵌套哈希图中合并?

来自分类Dev

如何在嵌套哈希图中合并?

来自分类Dev

在哈希图中查找值最低的键

来自分类Dev

通过键聚合哈希图中的值

来自分类Dev

从javascript哈希图中读取特定值

来自分类Dev

不能将字符串以外的值添加到嵌套的哈希图中

来自分类Dev

遍历作为哈希值包含在哈希图中的哈希图

来自分类Dev

从哈希图中删除

来自分类Dev

ConcurrentModificationException,我想删除哈希图中的相同名称

来自分类Dev

多个谓词将集合分组到哈希图

来自分类Dev

Rust结构模式,在哈希图中存储多个工厂

来自分类Dev

遍历嵌套的哈希图

来自分类Dev

遍历嵌套的哈希图

来自分类Dev

如何在哈希图中获取字符串和哈希图的混合值

来自分类Dev

如何使用Lambda获取哈希图中的值的键计数

来自分类Dev

检查哈希图中的值是否已经存在

来自分类Dev

从Java中的哈希图中删除值的子集

来自分类Dev

如何从哈希图中获取5个最高值?

来自分类Dev

更新哈希图中的字符串值

来自分类Dev

更新哈希图中几个值的最佳方法?

来自分类Dev

如何对哈希图中的所有值求和?

来自分类Dev

在哈希图中查找与最大值对应的键

来自分类Dev

如何在文件的哈希图中查找值的总和

来自分类Dev

从哈希图中删除特定值和键

来自分类Dev

遍历scala哈希图中的给定键的值