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

JavaScript如何判断数组嵌套对象内是否存在指定prodCode并返回true

JavaScript 嵌套对象数组指定值存在性判定实现

实现思路

利用数组原生some()方法的短路特性:只要遍历到第一个符合条件的元素就立即返回true,终止后续遍历,性能最优。两层some()分别遍历外层数组、内层holdings数组即可匹配需求。

完整实现代码

// 源数据
const sourceData = [
  {
    holdings: [
      { product: { id: 1, prodName: 'LX세미콘', prodCode: '108320' } },
      { product: { id: 2, prodName: '컴투스', prodCode: '078340' } }
    ]
  },
  {
    holdings: [ { product: { id: 1, prodName: 'LX세미콘', prodCode: '108320' } } ]
  }
]

/**
 * 检查是否存在指定prodCode的产品
 * @param {Array} data 源嵌套数组
 * @param {String} targetCode 待匹配的prodCode
 * @returns {Boolean} 存在返回true,不存在返回false
 */
function checkProdCodeExist(data, targetCode) {
  return data.some(group => 
    group.holdings.some(holding => 
      holding.product?.prodCode === targetCode
    )
  )
}

// 测试调用
console.log(checkProdCodeExist(sourceData, '108320')) // 输出 true

注意事项

  • 代码中使用的可选链操作符?.可兼容ES2020及以上运行环境,低版本场景可替换为holding.product && holding.product.prodCode === targetCode避免属性不存在时报错。
  • 如果后续嵌套层级变更,可将逻辑改造为递归实现适配更深的嵌套结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:45:03