【发布时间】:2016-12-16 11:49:57
【问题描述】:
我有一个对象数组。
var $arr = [
{'product': 1, 'quantity': 4, 'service': 'AC'},
{'product': 2, 'quantity': 5, 'service': 'TV'},
{'product': 1, 'quantity': 3, 'service': 'AC'}
];
使用此数组,我需要删除“产品”和“服务”键都匹配的任何对象。我需要做的另一件事是,如果两个或多个对象之间存在匹配,则取每个对象的“数量”值并计算总和。
我一直在使用 lodash 来尝试实现这一点。虽然我觉得我离找到解决方案并不太远,但我似乎无法确定问题的最后一部分并将“数量”值相加(如果有匹配项)。
console.log(_.uniqBy($arr, function(v) {
return v.product === 1;
}));
这有可能吗,还是我需要重新考虑解决这个问题的方法。此外,我因无法使用 ES6 而受到责备,这是一种耻辱。
感谢您的帮助。
【问题讨论】:
-
你需要
_.mergeWith
标签: javascript jquery lodash