gpt4 book ai didi

javascript - 获取对象中的重复项并合并值

转载 作者:行者123 更新时间:2023-11-30 20:10:19 24 4
gpt4 key购买 nike

我有一个非常简单的问题,我就是想不出来。

我想合并所有重复的对象并跟踪我有多少重复对象。

这是我的输入:

[
{ w: 'abc', c: 1 },
{ w: 'abc', c: 1 },
{ w: 'abc', c: 1 },
{ w: 'a', c: 1 },
{ w: 'a', c: 1 },
{ w: 'b', c: 1 },
{ w: 'c', c: 1 }
]

这里是我想要的输出,

[ 
{ w: 'abc', c: 3 },
{ w: 'a', c: 2 },
{ w: 'b', c: 1 },
{ w: 'c', c: 1 }
]

_.union() 用于删除重复项,但我无法跟踪它们。

非常感谢您的帮助。

最佳答案

您可以链接下划线的方法并按 w 对项目进行分组,然后使用所需值的总和映射新对象。

var data = [{ w: 'abc', c: 1 }, { w: 'abc', c: 1 }, { w: 'abc', c: 1 }, { w: 'a', c: 1 }, { w: 'a', c: 1 }, { w: 'b', c: 1 }, { w: 'c', c: 1 }],
result = _
.chain(data)
.groupBy('w')
.map((array, w) => ({ w, c: _.reduce(array, (s, { c }) => s + c, 0) }))
.value();

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

关于javascript - 获取对象中的重复项并合并值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52480871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com