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

如何在嵌套数组中查找空text后返回对应对象顶层id值

问题原因

你现有代码的链式调用逻辑提前拆分了顶层对象,提取state、properties后丢失了和顶层id的关联,因此无法对应返回目标id值。

实现代码

const findItem = () => {
  return array
    // 筛选出properties中存在空text的顶层对象
    .filter(topItem => topItem.state.properties.some(prop => prop.text === ''))
    // 提取符合条件的顶层id
    .map(topItem => topItem.id)
}

调用findItem()即可得到你期望的返回结果 ['662e4120', '782h7a9x']。

逻辑说明

  • 用Array.some()方法校验每个顶层对象的properties数组,只要存在任意一个text为空的项就返回true,匹配到符合条件的顶层对象
  • 最后通过map提取符合条件对象的id,得到目标数组

边界情况适配(可选)

如果存在properties未定义、或者单个顶层对象下有多个空text子项需要返回多次id的场景,可以调整写法:

// 单个顶层下多个空text需要返回多次id的写法
const findItem = () => {
  return array.flatMap(topItem => {
    const emptyProps = topItem.state?.properties?.filter(prop => prop.text === '') || []
    // 有多少个空text就返回多少个对应的id
    return emptyProps.length > 0 ? new Array(emptyProps.length).fill(topItem.id) : []
  })
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:45:05