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

如何根据name字段复制数组内嵌套对象的指定字段

按GPU ID复制JSON数组中的sum值

需求说明

需要将JSON数据中gpu.id为"zebra"的sum值,复制到gpu.id为"fish"的sum字段中,且不依赖数组元素的顺序。

原始输入JSON

{
  "zoo": [
    { "room": { "name": "x" }, "gpu": { "id": "fish",  "sum": 0 } },
    { "room": { "name": "y" }, "gpu": { "id": "zebra", "sum": 797 } }
  ]
}

实现代码(JavaScript)

const data = {
  "zoo": [
    { "room": { "name": "x" }, "gpu": { "id": "fish",  "sum": 0 } },
    { "room": { "name": "y" }, "gpu": { "id": "zebra", "sum": 797 } }
  ]
};

// 查找zebra的sum值
const zebraSum = data.zoo.find(item => item.gpu.id === "zebra")?.gpu.sum;

// 找到fish并更新sum值
if (zebraSum !== undefined) {
  const fishEntry = data.zoo.find(item => item.gpu.id === "fish");
  if (fishEntry) {
    fishEntry.gpu.sum = zebraSum;
  }
}

// 输出处理后的JSON
console.log(JSON.stringify(data, null, 2));

处理后的输出JSON

{
  "zoo": [
    { "room": { "name": "x" }, "gpu": { "id": "fish",  "sum": 797 } },
    { "room": { "name": "y" }, "gpu": { "id": "zebra", "sum": 797 } }
  ]
}

说明

  • 使用Array.find()方法通过gpu.id匹配目标元素,完全不依赖数组的顺序
  • 加入了可选链(?.)和存在性判断,避免因找不到目标元素导致报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:26:04