合并具有1个相同属性名称的对象数组

cooldude101

我试图用重复的“名称”属性合并每个对象,通过合并,我的意思是将它们的“值”属性加在一起并删除重复的属性。

由于某种原因,我的代码未给出预期的结果:

    array = [ 
        { name: 'f', value: '10' },
        { name: '5', value: '10' },
        { name: 'f', value: '10' },
        { name: '5', value: '10' },
        { name: 'f', value: '10' },
        { name: '5', value: '10' },
    ]

    for (let i = 0; i < array.length; i++) {
        for (let y = 0; y < array.length; y++) {

            if (array[y].name == array[i].name) {

                array[i].value = parseInt(array[i].value) + parseInt(array[y].value)

                array.splice(y,1)
                
            }
        }
    }
    
    console.log(array)
    // gives result [ { name: '5', value: 30 }, { name: 'f', value: '10' } ]
    // expected results [ { name: '5', value: 30 }, { name: 'f', value: '30' } ]

阿育·古普塔(Ayush Gupta)

使用的组合reduce,并map做到这一点:

let array = [
      { name: 'f', value: '10' },
      { name: '5', value: '10' },
      { name: 'f', value: '10' },
      { name: '5', value: '10' },
      { name: 'f', value: '10' },
      { name: '5', value: '10' },
    ];
    
    let resultObj = array.reduce((result, item) => {
      result[item.name] = (result[item.name] || 0) + (Number(item.value) || 0);
      return result;
    }, {});
    
    let resultArray = Object.getOwnPropertyNames(resultObj).map(name => {
      return {name, value: resultObj[name]}
    })
    
    console.log(resultArray)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在两个名称空间中解组具有相同属性名称的XML属性

来自分类Dev

Java Arraylist <Object>要合并具有相同属性值的对象

来自分类Dev

Ramda.js合并两个共享相同属性ID的对象数组

来自分类Dev

ES6解构具有相同属性名称的两个对象

来自分类Dev

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

来自分类Dev

汇总具有相同属性名称的对象的值

来自分类Dev

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

来自分类Dev

合并两个对象数组,并跳过具有相同ID属性的对象

来自分类Dev

对象对象数组。获取具有相同属性的所有值的长度

来自分类Dev

将具有相同属性的对象数组转换为具有数组值的一个对象

来自分类Dev

如何排列具有相同属性值的对象数组?

来自分类Dev

在GenomicRanges对象中合并具有相同属性的相邻垃圾箱

来自分类Dev

将具有相同属性的两个对象的方法合并到每个属性的数组中

来自分类Dev

序列化具有相同名称但不同属性的2个属性

来自分类Dev

合并具有相同属性的Rails对象

来自分类Dev

合并具有相同属性的元素

来自分类Dev

检查带有对象的字典是否包含两个具有相同属性的对象

来自分类Dev

XSLT - 从具有相同属性名称的元素创建属性值数组

来自分类Dev

如何将具有相同属性名称的对象数组转换为从给定数组中的值连接值的对象?JS

来自分类Dev

合并具有不同属性名称的数组值

来自分类Dev

合并具有相同属性c#值的json对象

来自分类Dev

如何合并两个具有相同属性的 Pandas 数据框并覆盖相同的行?

来自分类Dev

在对象数组中查找具有相同属性的元素并创建新的对象数组

来自分类Dev

在对象数组中查找具有相同属性的元素并创建一个新的对象数组

来自分类Dev

组合具有相同属性的对象

来自分类Dev

如果属性具有相同的值,则合并 2 个对象数组但合并数组

来自分类Dev

减少具有相同键和连接相同属性的对象数组

来自分类Dev

Javascript合并具有相同属性的对象

来自分类Dev

JQ:合并具有相同属性名称的数组实体

Related 相关文章

  1. 1

    在两个名称空间中解组具有相同属性名称的XML属性

  2. 2

    Java Arraylist <Object>要合并具有相同属性值的对象

  3. 3

    Ramda.js合并两个共享相同属性ID的对象数组

  4. 4

    ES6解构具有相同属性名称的两个对象

  5. 5

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

  6. 6

    汇总具有相同属性名称的对象的值

  7. 7

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

  8. 8

    合并两个对象数组,并跳过具有相同ID属性的对象

  9. 9

    对象对象数组。获取具有相同属性的所有值的长度

  10. 10

    将具有相同属性的对象数组转换为具有数组值的一个对象

  11. 11

    如何排列具有相同属性值的对象数组?

  12. 12

    在GenomicRanges对象中合并具有相同属性的相邻垃圾箱

  13. 13

    将具有相同属性的两个对象的方法合并到每个属性的数组中

  14. 14

    序列化具有相同名称但不同属性的2个属性

  15. 15

    合并具有相同属性的Rails对象

  16. 16

    合并具有相同属性的元素

  17. 17

    检查带有对象的字典是否包含两个具有相同属性的对象

  18. 18

    XSLT - 从具有相同属性名称的元素创建属性值数组

  19. 19

    如何将具有相同属性名称的对象数组转换为从给定数组中的值连接值的对象?JS

  20. 20

    合并具有不同属性名称的数组值

  21. 21

    合并具有相同属性c#值的json对象

  22. 22

    如何合并两个具有相同属性的 Pandas 数据框并覆盖相同的行?

  23. 23

    在对象数组中查找具有相同属性的元素并创建新的对象数组

  24. 24

    在对象数组中查找具有相同属性的元素并创建一个新的对象数组

  25. 25

    组合具有相同属性的对象

  26. 26

    如果属性具有相同的值,则合并 2 个对象数组但合并数组

  27. 27

    减少具有相同键和连接相同属性的对象数组

  28. 28

    Javascript合并具有相同属性的对象

  29. 29

    JQ:合并具有相同属性名称的数组实体

热门标签

归档