我在 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 等之间的区别。
我应该使用哪一个,哪一个是最优雅的(阅读:最短的)?
最佳答案
您可以在 reduce()
中使用对象解构或 Object.assign()
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)
关于javascript - 如何将 firestore 集合转换为有用的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55603309/