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

如何合并含动态可变字段的JavaScript对象列表?

解决方案

要实现这种按位置对应合并动态字段对象的需求,可以通过拆分数组+对应索引合并的方式完成,具体代码如下:

步骤说明

  1. 计算输入数组长度的一半,确定需要合并的对象对数量;
  2. 将输入数组拆分为前后两个等长的子数组;
  3. 遍历前半部分数组,将每个对象与后半部分对应索引的对象合并。

代码实现

// 示例输入数组
const input = [
  { A: 'a1', B: "b1" },
  { A: 'a2', B: "b2" },
  { C: 'c1', D: "d1" },
  { C: 'c2', D: "d2" }
];

// 计算拆分点
const halfLen = input.length / 2;
// 拆分为前后两个子数组
const firstGroup = input.slice(0, halfLen);
const secondGroup = input.slice(halfLen);

// 对应索引合并对象
const output = firstGroup.map((obj, idx) => ({
  ...obj,
  ...secondGroup[idx]
}));

console.log(output);
// 输出结果:
// [ { A: 'a1', B: 'b1', C: 'c1', D: 'd1' }, { A: 'a2', B: 'b2', C: 'c2', D: 'd2' } ]

关键细节

  • 使用扩展运算符(...)合并对象,会自动处理所有动态字段,无需提前知道键名;
  • 该方案默认输入数组长度为偶数,且前后两部分需要合并的对象数量一致,符合你的示例场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:01:47