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

JavaScript基于对象生成筛选数据集并新增category条目的实现问题

完整实现代码

let filter_data = [];
// 前置非空判断避免报错
if (data.filter && data.filter.selectedFilterItems && data.filter.selectedFilterItems.length) {
  // 取第一个条目的categoryId,你也可以根据需求调整为取指定位置/指定规则的条目id
  const targetCategoryId = data.filter.selectedFilterItems[0].categoryId;

  // 原有相同code合并逻辑
  const groupedFilterMap = data.filter.selectedFilterItems.reduce((acc, cur) => {
    if (acc[cur.code]) {
      acc[cur.code].value += `,${cur.name}`;
    } else {
      acc[cur.code] = { type: cur.code, value: cur.name };
    }
    return acc;
  }, {});

  filter_data = Object.values(groupedFilterMap);
  // 追加category类型条目
  filter_data.push({
    type: 'category',
    value: targetCategoryId
  });
}

可选调整说明

如果需要取指定规则的categoryId,比如取code为color的条目的id,可以把取值逻辑替换为:

const colorItem = data.filter.selectedFilterItems.find(item => item.code === 'color');
const targetCategoryId = colorItem ? colorItem.categoryId : '';

最终输出的filter_data结构示例:

[
  {"type":"price","value":"0-435"},
  {"type":"color","value":"MULTI,Pastel Tie Dye"},
  {"type":"category","value":"0_435"}
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:09:02