【发布时间】:2016-11-21 18:29:42
【问题描述】:
我一直在努力解决这个问题并且遇到了问题,所以我想我应该向有更多经验的人询问。我有一个对象数组,可以说称为项目,我需要总结数组中不同对象的一些属性,并在最后总结它们。用户可以进行一些选择,我只需要总结他们给我的数组中唯一选择的属性,所以我想也许可以在 lodash 中使用 _.pick 函数。如果可能的话,我想在一个循环中执行此操作,因为 items 数组最多可以有 1000 个项目。这是一个例子:
var items = [
{'lightBlue':4, 'darkBlue':2, 'red':4, 'orange':6, 'purple':7},
{'lightBlue':6, 'darkBlue':5, 'red':1, 'orange':2, 'purple':3},
{'lightBlue':2, 'darkBlue':4, 'red':3, 'orange':4, 'purple':9}
]
var userSelectedColors = ['lightBlue', 'darkBlue'];
我想看到的是所有蓝色的总结如下:
var summedUp = [{'lightBlue':12, 'darkBlue':11}];
然后将结果相加得到总数
var totalCount = 23
在 lodash. userSelectedColors 数组可以是 1 或颜色的任意组合。
请提供示例,感谢您的帮助!
【问题讨论】:
-
除非
items非常非常大,否则性能可能不会成为问题。非 lodash 解决方案可能是最快的。 -
嗨,谢谢@4castle,你能提供一个例子来说明如何得到我上面提到的结果吗?
标签: javascript arrays underscore.js lodash