使用lodash/Javascript对类进行分组并计算用户数
获取一个数组列表,其中包含类和参与用户的列表;需要一个输出,该输出通过分组类和统计总用户来显示参与的用户使用lodash/Javascript对类进行分组并计算用户数,javascript,jquery,lodash,Javascript,Jquery,Lodash,获取一个数组列表,其中包含类和参与用户的列表;需要一个输出,该输出通过分组类和统计总用户来显示参与的用户 var arrList = [ { class: 'one', user: 'user1' }, { class: 'two', user: 'user1' }, { class: 'two', user: 'user2' }, { class: 'one', user: 'user3' }, { class: 'two', user: 'user3' }, { cl
var arrList = [
{ class: 'one', user: 'user1' },
{ class: 'two', user: 'user1' },
{ class: 'two', user: 'user2' },
{ class: 'one', user: 'user3' },
{ class: 'two', user: 'user3' },
{ class: 'three', user: 'user1' },
{ class: 'four', user: 'user1' }
];
// output
[
{ class: 'one', user: [ 'user1', 'user2', 'user3' ], count: 3 },
{ class: 'two', user: [ 'user1', 'user3' ], count: 2 },
{ class: 'three', user: [ 'user1' ], count: 1 },
{ class: 'four', user: [ 'user1' ], count: 1 }
];
使用.groupBy()
通过类
键收集对象,然后映射到所需的表单
具有链接的解决方案(需要完全导入lodash包):
const arrList=[{“类”:“一”,“用户”:“user1”},{“类”:“二”,“用户”:“user1”},{“类”:“二”,“用户”:“user2”},{“类”:“一”,“用户”:“user3”},{“类”:“二”,“用户”:“user3”},{“类”:“三”,“用户”:“user1”},{“类”:“四”,“用户”:“user1”};
const result=u3;(arrList)
.groupBy('class'))
.map((组,键)=>({
类别:钥匙,
用户:u.map(组“用户”),
计数:group.length
}))
.value();
控制台日志(结果)代码>
使用.groupBy()
通过类
键收集对象,然后映射到所需的表单
具有链接的解决方案(需要完全导入lodash包):
const arrList=[{“类”:“一”,“用户”:“user1”},{“类”:“二”,“用户”:“user1”},{“类”:“二”,“用户”:“user2”},{“类”:“一”,“用户”:“user3”},{“类”:“二”,“用户”:“user3”},{“类”:“三”,“用户”:“user1”},{“类”:“四”,“用户”:“user1”};
const result=u3;(arrList)
.groupBy('class'))
.map((组,键)=>({
类别:钥匙,
用户:u.map(组“用户”),
计数:group.length
}))
.value();
控制台日志(结果)代码>
如果必须使用简单的javascript实现相同的功能。该方法是什么?哈希表?映射?还原为一个对象或一个映射,然后使用扩展的object.values或Map.values。如果必须使用简单的javascript实现相同的操作。该方法是什么?哈希表?映射?还原为一个对象或一个映射,然后使用扩展的object.values或Map.values。