# 实现一个函数 keyBy
更多描述
类似 lodash.keyBy (opens new window),这里仅仅考虑第二个参数为函数的情况
// Output: {
// "1": {
// "id": 1,
// "name": "山月"
// },
// "2": {
// "id": 2,
// "name": "shanyue"
// }
// }
keyBy(
[
{ id: 1, name: "山月" },
{ id: 2, name: "shanyue" },
],
(x) => x.id
);
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 697 (opens new window)
Author
function keyBy(list, by) {
return list.reduce((acc, x) => {
acc[by(x)] = x;
return acc;
}, {});
}