groupBy() function
将 Iterable/AsyncIterable 分割为集合,按通过 f 运行每个值的结果分组。
Signature:
typescript
declare function groupBy<A extends Key>(
f: (a: A) => A,
iterable: Iterable<A>,
): {
[K in A]: K[];
};Example
ts
const given = [
{ category: "clothes", desc: "good" },
{ category: "pants", desc: "bad" },
{ category: "shoes", desc: "not bad" },
{ category: "shoes", desc: "great" },
{ category: "pants", desc: "good" },
];
groupBy((a) => a.category, given);
// {
// clothes: [{ category: "clothes", desc: "good" }],
// pants: [
// { category: "pants", desc: "bad" },
// { category: "pants", desc: "good" },
// ],
// shoes: [
// { category: "shoes", desc: "not bad" },
// { category: "shoes", desc: "great" },
// ],
// };