|
Download ponytail/examples/group-by.md from smlflg/CodingAgent: direct link, hf CLI and curl.
- Browser
- Download file 937 Bytes
-
https://huggingface.co/smlflg/CodingAgent/resolve/main/ponytail/examples/group-by.md
- Command line
-
hf download hf://smlflg/CodingAgent/ponytail/examples/group-by.md
-
curl -L -o group-by.md https://huggingface.co/smlflg/CodingAgent/resolve/main/ponytail/examples/group-by.md
937 Bytes
Group By
Task: "Group this array of objects by a key."
Without Ponytail
npm install lodash
import { groupBy } from "lodash";
const byStatus = groupBy(orders, "status");
// → { pending: [...], shipped: [...], delivered: [...] }
Or the hand-rolled version:
const byStatus = orders.reduce((acc, order) => {
(acc[order.status] ??= []).push(order);
return acc;
}, {});
With Ponytail
// ponytail: Object.groupBy does this
const byStatus = Object.groupBy(orders, order => order.status);
// → { pending: [...], shipped: [...], delivered: [...] }
1 dependency (or a reduce) → 1 built-in. Object.groupBy shipped in Chrome 117, Firefox 119, Safari 17.4, Node.js 21. If you need a Map instead of a plain object: Map.groupBy(orders, o => o.status). Check your target runtime; if you need IE11 or old Node, the reduce one-liner is still the right call, not lodash.