Ano*_*bie 4 javascript ecmascript-6 lodash
我有一系列从 API 获取的项目作为响应主体。
data = [{id: 1, category: "kitchen", name: "noodles"},
{id: 2, category: "general", name: "Wi-Fi"},
{id: 3, category: "sports", name: "Football"},]
Run Code Online (Sandbox Code Playgroud)
我想遍历数组,并获得如下数据:
var categorized = {
kitchen: [{id: 1, category: "kitchen", name: "noodles"}],
general : [{id: 2, category: "general", name: "Wi-Fi"}],
sports : [{id: 3, category: "sports", name: "Football"}]
};
Run Code Online (Sandbox Code Playgroud)
是否有任何 lodash 方法或任何 ES6 快捷方式?
回答您的问题“是否有 lodash 方法?” 是的:https : //lodash.com/docs/4.17.4#groupBy。对于您的具体示例:
const categorized = _.groupBy(data, 'category');
Run Code Online (Sandbox Code Playgroud)
编辑:您可以像另一个示例一样使用 ES6 滚动您自己的 groupBy 类型函数。但是,如果您无论如何都在使用 lodash,这会更干净。