在JSON数组JavaScript中合并相同的对象

阿米·科耶

我有这个数组:

[{ "id": 1, "myId": "100", "name": "amey" }, { "id": 2, "myId": "100", "name": "anuj" }, { "id": 3, "myId": "101", "name": "suraj" }, { "id": 4, "myId": "101", "name": "suraj h" }]

我想要这样的输出:

[{ "id": 1, "myId": "100", "name": ["amey", "anuj"] }, { "id": 3, "myId": "101", "name": ["suraj", "suraj h] }]

我该如何使用javascript

for (var i = 0; i < myarray.length; i++) {
  //And loop again for duplicate data
  for (var j = i + 1; j < myarray.length; j++) {
    if (
      myarray[i].VENDOR_ID == myarray[j].VENDOR_ID &&
      myarray[i].ORDER_ID === myarray[j].ORDER_ID
    ) {
      var tmp = myarray[j].NAME;
      console.log(tmp);
      myarray[j].NAME = [];
      myarray[j].NAME.push(tmp);
      myarray[j].NAME.push(myarray[i].NAME);
      myarray[i] = {};
    }
  }
}
德鲁·里斯(Drew Reese)

您可以使用将数组归约到对象中并返回值数组。使用该myId属性作为分组依据,可以简化为一个对象浅复制任何现有状态和andname数组,name从当前元素中追加新值。

Object.values(
  input.reduce(
    (acc, { id, myId, name }) => ({
      ...acc,
      [myId]: {
        ...(acc[myId] || { id, myId }),
        name: [...(acc[myId]?.name || []), name]
      }
    }),
    {}
  )

const input = [
  { id: 1, myId: "100", name: "amey" },
  { id: 2, myId: "100", name: "anuj" },
  { id: 3, myId: "101", name: "suraj" },
  { id: 4, myId: "101", name: "suraj h" }
];

const res = Object.values(
  input.reduce(
    (acc, { id, myId, name }) => ({
      ...acc,
      [myId]: {
        ...(acc[myId] || { id, myId }),
        name: [...(acc[myId]?.name || []), name]
      }
    }),
    {}
  )
);

console.log(JSON.stringify(res));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

使用相同的键合并数组中的javascript对象

来自分类Dev

按数组中的相同值合并对象

来自分类Dev

合并数组IOS中的相同对象

来自分类Dev

在两个不同的json数组中合并相同的特定json对象

来自分类Dev

JSON 对象在 Javascript 中合并

来自分类Dev

如何在javascript中合并具有相同键的数组中的对象?

来自分类Dev

如果对象具有相同的日期,则合并数组中的对象

来自分类Dev

合并具有相同值的对象数组中的对象

来自分类Dev

在对象数组中合并带有“相同键”的对象

来自分类Dev

Javascript:通过相同的键/值合并/重命名数组中的相似对象

来自分类Dev

使用jQuery(JavaScript)合并对象数组中多个相同键的值

来自分类Dev

合并JavaScript中的动态对象数组

来自分类Dev

如何合并Javascript中的对象数组?

来自分类Dev

Javascript合并数组中的多个对象

来自分类Dev

按ID合并数组中的对象javascript

来自分类Dev

在js的数组中合并具有相同id的对象

来自分类Dev

如何合并数组中具有相同键的对象?

来自分类Dev

通过匹配相同的键值合并数组中的对象

来自分类Dev

合并数组中具有相同ID的对象

来自分类Dev

Javascript:合并对象数组

来自分类Dev

Angular Javascript中合并匹配对象的合并数组

来自分类Dev

在 Javascript 中合并 JSON 和对象

来自分类Dev

使用JavaScript在JSON中合并对象

来自分类Dev

合并对象数组,并使用相同的键合并对象内部的数组

来自分类Dev

合并对象中的数组

来自分类Dev

如果在javascript中具有相同ID,如何合并数组中所有属性的两个对象?

来自分类Dev

如何在JavaScript中合并具有相同键的对象?

来自分类Dev

在JavaScript中合并具有相同键的对象

来自分类Dev

如何在JSON对象数组中合并数组?

Related 相关文章

  1. 1

    使用相同的键合并数组中的javascript对象

  2. 2

    按数组中的相同值合并对象

  3. 3

    合并数组IOS中的相同对象

  4. 4

    在两个不同的json数组中合并相同的特定json对象

  5. 5

    JSON 对象在 Javascript 中合并

  6. 6

    如何在javascript中合并具有相同键的数组中的对象?

  7. 7

    如果对象具有相同的日期,则合并数组中的对象

  8. 8

    合并具有相同值的对象数组中的对象

  9. 9

    在对象数组中合并带有“相同键”的对象

  10. 10

    Javascript:通过相同的键/值合并/重命名数组中的相似对象

  11. 11

    使用jQuery(JavaScript)合并对象数组中多个相同键的值

  12. 12

    合并JavaScript中的动态对象数组

  13. 13

    如何合并Javascript中的对象数组?

  14. 14

    Javascript合并数组中的多个对象

  15. 15

    按ID合并数组中的对象javascript

  16. 16

    在js的数组中合并具有相同id的对象

  17. 17

    如何合并数组中具有相同键的对象?

  18. 18

    通过匹配相同的键值合并数组中的对象

  19. 19

    合并数组中具有相同ID的对象

  20. 20

    Javascript:合并对象数组

  21. 21

    Angular Javascript中合并匹配对象的合并数组

  22. 22

    在 Javascript 中合并 JSON 和对象

  23. 23

    使用JavaScript在JSON中合并对象

  24. 24

    合并对象数组,并使用相同的键合并对象内部的数组

  25. 25

    合并对象中的数组

  26. 26

    如果在javascript中具有相同ID,如何合并数组中所有属性的两个对象?

  27. 27

    如何在JavaScript中合并具有相同键的对象?

  28. 28

    在JavaScript中合并具有相同键的对象

  29. 29

    如何在JSON对象数组中合并数组?

热门标签

归档