Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用lodash/Javascript对类进行分组并计算用户数_Javascript_Jquery_Lodash - Fatal编程技术网

使用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。