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

如何为JS数据合并函数添加同CLASS不匹配的限制条件?

JavaScript合并函数修改方案

实现思路

在你原本基于weight匹配的合并逻辑中,额外加入CLASS不相等的判断条件,只有同时满足weight相同且CLASS不同的条目才会被合并。

修改后的代码示例

假设你的原始合并代码如下(如果你的代码逻辑有差异,核心判断条件的修改方式一致):

function mergeByWeight(items) {
  const result = [];

  items.forEach(item => {
    // 查找已存在的、weight相同且CLASS不同的条目
    const match = result.find(itemInResult => 
      itemInResult.weight === item.weight && itemInResult.CLASS !== item.CLASS
    );

    if (match) {
      // 替换为你的具体合并逻辑,比如合并数值、拼接内容等
      match.total += item.total;
    } else {
      result.push({...item});
    }
  });

  return result;
}

关键改动说明

  • 原逻辑仅通过weight匹配可合并条目,现在新增itemInResult.CLASS !== item.CLASS的限制
  • 只有两个条件同时满足时,才会执行合并操作;若CLASS相同,即使weight一致也会被视为独立条目保留

逻辑验证

  • ✅ weight相同 + CLASS不同 → 合并
  • ❌ weight相同 + CLASS相同 → 不合并,各自保留
  • ❌ weight不同 → 无论CLASS是否相同,均不合并

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:05:29