我如何获得:
let items = [ { id: 1, name: 'one'}, { id: 60, name 'sixty'}]
为:
{ 1: { id: 1, name: 'one' }, 60: { id: 60, name: 'sixty' } }
我真的不介意这个问题的重复ID。
我试过这个:
items.reduce((allItems, item) => {
return allItems[item.id] = item;
}, {});
但它不起作用,因为示例建议......确实只减少单个项目数组的工作,而不是对象?
有关如何从地图返回密钥的任何建议,或某些可以为我执行此操作的lodash
函数吗? (即实际返回[item.id]: { ...item}
,然后用上面的对象结果将它们展平,并使用唯一键。
答案 0 :(得分:0)
显然我不应该马上归还:
items.reduce((allItems, item) => {
allItems[item.id] = item;
return allItems;
}, {});