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

需求:为JSON对比脚本新增unit字段匹配写入功能

修改后的Node.js脚本实现匹配过滤与字段同步

原脚本仅完成了products.json中与good.json name不匹配对象的过滤,以下是新增同步unit字段功能后的完整代码:

const fs = require('fs');

// 读取两个JSON文件
const goods = JSON.parse(fs.readFileSync('good.json', 'utf-8'));
const products = JSON.parse(fs.readFileSync('products.json', 'utf-8'));

// 将goods转换为name:unit的映射对象,提升匹配效率
const goodsUnitMap = goods.reduce((map, item) => {
  map[item.name] = item.unit;
  return map;
}, {});

// 过滤products并同步unit字段
const processedProducts = products
  .filter(product => goodsUnitMap.hasOwnProperty(product.name))
  .map(product => ({
    ...product,
    unit: goodsUnitMap[product.name]
  }));

// 将处理后的结果写回products.json(带格式化)
fs.writeFileSync('products.json', JSON.stringify(processedProducts, null, 4), 'utf-8');

关键修改说明

  • 映射优化:用reduce把goods数组转成键值对映射,避免每次匹配都遍历数组,提升处理效率
  • 字段同步:在过滤后通过map方法,给每个匹配的产品对象添加/覆盖unit字段,值来自good.json中对应name的对象
  • 逻辑兼容:保留了原脚本的过滤逻辑,仅保留name匹配的产品

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:57:22