【问题标题】:how to merge similar key values in same keys in javascript [closed]如何在javascript中的相同键中合并相似的键值[关闭]
【发布时间】:2020-06-03 11:15:43
【问题描述】:
var array = [{
  "ADJUSTMENT_TYPE": "AP0001",
  "REV_TYPE": "R"
}, {
  "ADJUSTMENT_TYPE": "AP0001",
  "REV_TYPE": "E"
}, {
  "ADJUSTMENT_TYPE": "AP0001",
  "REV_TYPE": "N"
}];

我希望它是这样的

[{
  "ADJUSTMENT_TYPE": "AP0001",
  "REV_TYPE": "R",
  "E",
  "N"
}]

我想要这个在 javascript 中。谁能帮帮我

提前致谢

【问题讨论】:

  • 您期望的输出是不正确的 json 对象。 JSON 对象必须有键和值
  • 你自己尝试过什么吗?
  • 您可以添加您尝试过的内容吗?

标签: javascript node.js frontend web-frontend xsjs


【解决方案1】:

当前示例不检查重复项REV_TYPE

const array = [
    { ADJUSTMENT_TYPE: 'AP0001', REV_TYPE: 'R' },
    { ADJUSTMENT_TYPE: 'AP0002', REV_TYPE: 'E' },
    { ADJUSTMENT_TYPE: 'AP0001', REV_TYPE: 'N' },
    { ADJUSTMENT_TYPE: 'AP0001', REV_TYPE: 'N' },
    { ADJUSTMENT_TYPE: 'AP0002', REV_TYPE: 'N' },
    { ADJUSTMENT_TYPE: 'AP0002', REV_TYPE: 'N' },
];

const result = array.reduce((acc, val) => {
    const findType = acc.find(t => t.ADJUSTMENT_TYPE === val.ADJUSTMENT_TYPE);

    if (findType) {
        findType.REV_TYPE.push(val.REV_TYPE);
    } else {
        acc.push({ ADJUSTMENT_TYPE: val.ADJUSTMENT_TYPE, REV_TYPE: [val.REV_TYPE] });
    }

    return acc;
}, []);

console.log(result);

【讨论】:

  • 感谢它的工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 2019-07-27
  • 2016-08-21
  • 1970-01-01
相关资源
最近更新 更多