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

JavaScript如何将catalogCategories中不重复分类动态推入新数组

解决方案

核心修改逻辑

  • 补充catalogCategories合法性校验,避免数组不存在、为空时触发报错
  • 遍历每个元素的catalogCategories全量分类,而非硬编码读取前2个元素
  • 逐个判断分类是否已存在于结果数组,仅新增未出现过的分类

完整可运行代码

let categoryData = [];

for (let product of list) {
  // 跳过分类不存在/为空的情况
  if (!Array.isArray(product.catalogCategories) || product.catalogCategories.length === 0) {
    continue
  }
  // 遍历当前元素的所有分类
  product.catalogCategories.forEach(category => {
    // 校验分类是否已存在
    const isDuplicate = categoryData.some(item => item.value === category)
    if (!isDuplicate) {
      categoryData.push({
        name: "catalogCategories",
        label: category,
        selected: false,
        value: category
      })
    }
  })
}

最终输出的categoryData结构示例

[
  { name: 'catalogCategories', label: 'sport', selected: false, value: 'sport' },
  { name: 'catalogCategories', label: 'economy', selected: false, value: 'economy' },
  { name: 'catalogCategories', label: 'politics', selected: false, value: 'politics' },
  { name: 'catalogCategories', label: 'tourism', selected: false, value: 'tourism' },
  { name: 'catalogCategories', label: 'universe', selected: false, value: 'universe' }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:06:02