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

韩国电信

我有一个对象数组,我想根据JavaScript中的common date属性减少对象的数量

输入样例:

const data = [
    {date:"1 Nov", foo: 123},
    {date:"1 Nov", bar: 456},
    {date:"2 Nov", foo: 234}, 
    {date:"2 Nov", bar: 567}
];

预期产量

const data = [
    {date:"1 Nov", foo: 123, bar: 456},
    {date:"2 Nov", foo: 234, bar: 567}, 
];
达克里·丹尼

看到预期的输出是输入数组的集合,也许您可以使用该Array#reduce方法来实现此目的。一种应用此方法的方法可能是:

  1. 对于输入数组的每次迭代,请检查当前输出数组结果(即result如下所示)是否有日期与当前数组匹配的任何项目item
  2. 如果找到匹配项,则将找到的对象与匹配的“日期”“传播”到现有对象中(即将两个对象的键/值组合到一个新的对象中),并将其分配回result数组中
  3. 否则,如果找不到匹配项,只需按原样将当前项目添加到结果数组中

下面以代码显示此描述-希望对您有所帮助!

const data = [
    {date:"1 Nov", foo: 123},
    {date:"1 Nov", bar: 456},
    {date:"2 Nov", foo: 234}, 
    {date:"2 Nov", bar: 567}
];

const output = data.reduce((result, item) => {
  
  const i = result.findIndex(resultItem => resultItem.date === item.date)
    
  if(i === -1) {
    // No item in current result array found that matches the date of item
    // so add item to result array
    result.push(item)
  }
  else {
    // An item found with date matching item in current result so combine 
    // the two into a new object and assign this back into our result 
    // array
    result[i] = { ...result[i], ...item }
  }
  
  return result
}, [])

console.log(output);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Javascript

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

来自分类Java

如何在JSON数组中声明两个具有相同键但值不同的JSON对象

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何将具有相同属性的对象合并到数组中?

来自分类Dev

如何将具有相同键的两个对象(关联数组)合并到一个对象中

来自分类Dev

如何在两个对象数组中合并具有相同键的属性?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在嵌套字典中合并具有相同键的值?(没有用)

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何在ruby中基于相同键合并哈希数组?

来自分类Dev

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

来自分类Dev

我如何使用javascript中具有相同键的对象在对象中创建对象数组

来自分类Dev

检查数组中具有相同键的对象

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用循环合并具有相同键的数组中的javascript数组

来自分类Dev

如何在 JavaScript 中声明具有对象数组的对象?

来自分类Dev

如何在 JavaScript 中组合具有相同元素的对象?

来自分类Dev

如何在python中合并两个具有相同键和数组类型值的嵌套字典?

来自分类Dev

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

来自分类Dev

合并具有相同键的对象数组

来自分类Dev

如何在Javascript中合并具有不同键名的2个数组对象?

来自分类Dev

如何在javascript中检索具有相同属性值的对象数组

来自分类Dev

如何在javascript中通过其键合并对象数组

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

    如何在JSON数组中声明两个具有相同键但值不同的JSON对象

  3. 3

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

  4. 4

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

  5. 5

    如何将具有相同属性的对象合并到数组中?

  6. 6

    如何将具有相同键的两个对象(关联数组)合并到一个对象中

  7. 7

    如何在两个对象数组中合并具有相同键的属性?

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

    如何在嵌套字典中合并具有相同键的值?(没有用)

  12. 12

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

  13. 13

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

  14. 14

    如何在ruby中基于相同键合并哈希数组?

  15. 15

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

  16. 16

    我如何使用javascript中具有相同键的对象在对象中创建对象数组

  17. 17

    检查数组中具有相同键的对象

  18. 18

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

  19. 19

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

  20. 20

    使用循环合并具有相同键的数组中的javascript数组

  21. 21

    如何在 JavaScript 中声明具有对象数组的对象?

  22. 22

    如何在 JavaScript 中组合具有相同元素的对象?

  23. 23

    如何在python中合并两个具有相同键和数组类型值的嵌套字典?

  24. 24

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

  25. 25

    合并具有相同键的对象数组

  26. 26

    如何在Javascript中合并具有不同键名的2个数组对象?

  27. 27

    如何在javascript中检索具有相同属性值的对象数组

  28. 28

    如何在javascript中通过其键合并对象数组

  29. 29

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

热门标签

归档