gpt4 book ai didi

javascript - backbone 集合 groupby 数组属性

转载 作者:行者123 更新时间:2023-11-29 22:01:49 24 4
gpt4 key购买 nike

我有一个 Backbone 集合,其中包含如下对象:

users = {
'name': 'Johan',
'groups': [1234, 5678]
}, {
'name': 'Thomas',
'groups': [1234]
}, {
'name': 'Adam',
'groups': [1234, 5678, 7890]
};

我想计算 “groups” 并将其保存在 map 中,例如:

countArray = [1234 : 3 , 5678 : 2, 7890: 1];

这样我就可以访问了;

countArray[1234] -> return 3;

countArray.get('1234') -> return 3;

不管怎样

这样我就可以_.each我的其他集合“classes”并查找每个类中的用户数。

我正在考虑使用函数式编程并以某种方式使用 _.groupBy 但我没有找到返回多个值的方法。

最佳答案

_.groupBy将允许您根据给定键或函数返回的值聚合对象,您将无法在同一次传递中对多个对象进行分类。

你可以用两个 _.each 来构建一个映射对象:

var c = new Backbone.Collection(users);

var res = {};
c.each(function(m) {
_.each(m.get('groups'), function(g) {
res[g] = res[g] || 0;
res[g]++;
});
});

console.log(res);

参见 http://jsfiddle.net/nikoshr/V2qX2/1/演示

关于javascript - backbone 集合 groupby 数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23340203/

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