Open shfshanyue opened 3 years ago
类似 lodash.keyBy,这里仅仅考虑第二个参数为函数的情况
// Output: { // "1": { // "id": 1, // "name": "山月" // }, // "2": { // "id": 2, // "name": "shanyue" // } // } keyBy([{ id: 1, name: '山月' }, { id: 2, name: 'shanyue' }], x => x.id)
function keyBy (list, by) { return list.reduce((acc, x) => { acc[by(x)] = x return acc }, {}) }
这里其实是利用对象的键都是有序的,把类数组转成了对象
类似 lodash.keyBy,这里仅仅考虑第二个参数为函数的情况