我在Firestore中有一个货币集合,称为“货币”。集合中包含以货币命名的文件(例如“欧元”,“美元”等)。
我正在查询集合,并收到集合中所有文档的数组,如下所示:
[{euro:{dollar: 2}},
{dollar:{euro: 0.5}}]
我想将其转换为具有文档ID作为对象键的对象,如下所示:
{{euro:{dollar: 2}},
{dollar:{euro: 0.5}}}
这样我就可以访问Object.keys(obj)来访问所有可用货币,如下所示:
console.log(Object.keys(obj)) ---> [euro], [dollar]
这对我来说似乎很简单,但是由于我不了解array.map,array.foreach array.reduce,Object.assign等之间的区别,因此我正在努力实现这一目标。
我应该使用哪一种,哪一种最优雅(阅读:最短)?
答案 0 :(得分:2)
您可以在Object.assign()
中使用对象解构或reduce()
const data = [{euro:{dollar: 2}},{dollar:{euro: 0.5}}]
const res = data.reduce((a, c) => ({...a, ...c}), {});
// or res = data.reduce((a, c) => Object.assign(a, c), {});
console.log(res)