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

JavaScript实现按日期合并多对象属性至单个对象

按DATE_DT字段合并对象数组,整合同一日期的LOCATION数据

输入数据

const originalArray = [
  {
    "LOCATION":17,
    "Stock_In_Area":39.0709838867,
    "DATE_DT":"2021-03-07",
  },
  {
    "LOCATION":17,
    "Stock_In_Area":41.8843955994,
    "DATE_DT":"2021-03-14",
  },
  {
    "LOCATION":612,
    "Stock_In_Area":8.4867076874,
    "DATE_DT":"2021-03-07",
  },
  {
    "LOCATION":612,
    "Stock_In_Area":9.2035646439,
    "DATE_DT":"2021-03-14",
  },
];

解决方案代码

const mergedArray = Object.values(originalArray.reduce((acc, item) => {
  const date = item.DATE_DT;
  // 初始化该日期对应的对象
  if (!acc[date]) {
    acc[date] = { date };
  }
  // 将LOCATION转为字符串作为键,赋值库存数据
  acc[date][item.LOCATION.toString()] = item.Stock_In_Area;
  return acc;
}, {}));

代码说明

  • 利用Array.reduce()遍历原数组,以DATE_DT为键构建分组对象
  • 每个日期分组下,自动将LOCATION转为字符串属性名,对应存储Stock_In_Area的值
  • 最后通过Object.values()将分组对象转换为目标数组结构

输出结果

[
  {
    "date": "2021-03-07",
    "17": 39.0709838867,
    "612": 8.4867076874
  },
  {
    "date": "2021-03-14",
    "17": 41.8843955994,
    "612": 9.2035646439
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 11:39:47