在TypeScript数组中使用对象的键进行groupBy可以通过以下步骤实现:
const people = [
{ name: 'John', department: 'HR' },
{ name: 'Jane', department: 'IT' },
{ name: 'Mike', department: 'HR' },
{ name: 'Sarah', department: 'IT' },
];
const groupedPeople = people.reduce((groups, person) => {
const department = person.department;
if (!groups[department]) {
groups[department] = [];
}
groups[department].push(person);
return groups;
}, {});
在上面的例子中,我们通过reduce方法创建了一个以部门为键的新对象groupedPeople
,并将每个人员对象添加到对应的部门分组中。
groupedPeople
对象的属性来获取每个分组的人员列表。例如,要获取"HR"部门的人员列表,你可以使用groupedPeople['HR']
。
console.log(groupedPeople'HR'); // 输出 { name: 'John', department: 'HR' }, { name: 'Mike', department: 'HR' }
注意:如果你想要使用动态的键来进行分组,可以使用ES6的计算属性名称语法,例如groups[person[key]]
,其中key
是一个变量,表示对象的键。
这是一个简单的示例,展示了如何在TypeScript数组中使用对象的键进行groupBy。根据你的具体需求,你可以根据这个思路进行扩展和定制。
领取专属 10元无门槛券
手把手带您无忧上云