作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试找到最简单的方法来获取具有类似信息的数组并创建带有子数组的数组。新创建的父数组还应该对子数组中找到的值求和。这相当于使用 sum/group by 的 SQL 语句。
这是原始数组
[
{
'userId':1,
'userName':'bob',
'category':'shoes',
'count':2
},
{
'userId':1,
'userName':'bob',
'category':'rocks',
'count':4
},
{
'userId':1,
'userName':'bob',
'category':'bags',
'count':3
},
{
'userId':2,
'userName':'sue',
'category':'shoes',
'count':1
},
{
'userId':2,
'userName':'sue',
'category':'rocks',
'count':7
},
{
'userId':2,
'userName':'sue',
'category':'bags',
'count':4
},
]
这就是我希望新创建的数组的样子:
[
{
'userId':1,
'userName':'bob',
'purchases': [
{'category':'shoes','count':'2'},
{'category':'rocks','count':'4'},
{'category':'bags','count':'3'}
],
'totalCount' : 9
},
{
'userId':2,
'userName':'sue',
'purchases': [
{'category':'shoes','count':'1'},
{'category':'rocks','count':'7'},
{'category':'bags','count':'4'}
],
'totalCount' : 12
},
]
最佳答案
第一groupBy userId 然后 map组以获得所需的结构:
var groups = _.groupBy(list, 'userId');
var result = _.map(groups, function(user){
return {
userId: user[0].userId,
userName: user[0].userName,
purchases: _.map(user, function(purchase){
return {
category: purchase.category,
count: purchase.count
}
}),
totalCount: _.reduce(user, function(memo, purchase){
return memo + purchase.count;
}, 0)
}
});
关于javascript - 带子数组的组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676026/
我有以下 html,它也绑定(bind)到 Bootstrap 弹出窗口(如果有任何区别的话) Layouts test Starts 2014/12/12, 11:
我是一名优秀的程序员,十分优秀!