You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查field-to-find是否存在于my-map的任一映射值中?

检查映射值中是否存在指定字段

数据结构

"my-map": {
   "my-key1": {
      "field-to-find": {}
   },
   "my-key2": {
      "field-to-find": {}
   },
   "my-key3": {}
}

需求

我希望检查field-to-find是否存在于my-map的任一值中,请问这是否可行?

已尝试的方法

  • 使用my-map.exists(i, has(i.field-to-find))——无法生效,因为i仅返回映射的键,而非值
  • 使用my-map.exists(i, has(my-map.i.field-to-find))——无法生效,因为i被视为字符串,是否有方法将其作为变量引用?

解决方案

可行,你可以通过直接遍历映射的值集合来实现,不用纠结键的问题,推荐两种写法:

  1. 若你的查询环境支持values()方法(比如部分JSON查询框架):

    my-map.values().exists(v, has(v.field-to-find))
    

    values()会提取my-map里的所有值对象,v代表每个值,直接检查它是否包含field-to-find字段即可。

  2. 用通配符*直接访问所有子值:

    my-map.*.field-to-find.exists()
    

    这个写法会遍历my-map下的所有子对象,只要其中任意一个存在field-to-find字段,就会返回true。

内容的提问来源于stack exchange,提问作者helpmeplease

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:42:38