【发布时间】:2022-02-17 22:41:03
【问题描述】:
我是编程和解决逻辑构建练习的初学者。
我有很多员工。 Like This One(实际数组有更多数据,这只是一个例子):
let arr = [
{
name: 'Tom',
department: {
name: 'admin',
},
},
{
name: 'Chris',
department: {
name: 'account',
},
},
];
现在我想返回部门中人数最多的员工
我统计了每个部门的员工人数
const counts = {};
employees.forEach( (employee)=>{
counts[employee.department.name] = (counts[employee.department.name] || 0) + 1;
});
console.log(counts) // { Accounts: 1, admin: 1 }
但我想返回 Department 中数量最多的员工,而不是我想返回每个员工对象的员工数量。
这是预期的输出:
{
name: 'Employee1'
{
department:'Admin'
}
},
{
name: 'Employee2'
{
department:'Admin'
}
},
{
name: 'Employee3'
{
department:'Admin'
}
}
我只需要一个关于下一步做什么的指南。
谢谢
【问题讨论】:
-
所以推送到数组而不是计数。最大的数字将是最长的数组
-
你能举一个预期返回对象的例子吗?
-
@maxpsz 我已经更新了我的问题,现在也有预期的输出,感谢您的时间。
-
因为你已经有了部门数,你可以很容易地确定部门数最高的部门,现在你可以简单地使用 filter() 过滤掉在该部门工作的员工:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript node.js filter foreach