【问题标题】:How to convert firestore collection to useful object如何将 Firestore 集合转换为有用的对象
【发布时间】:2019-08-31 08:48:04
【问题描述】:

我在 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 等之间的区别。

我应该使用哪个,哪个最优雅(阅读:最短)?

【问题讨论】:

    标签: javascript arrays object google-cloud-firestore mapping


    【解决方案1】:

    您可以在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)

    【讨论】:

    • 谢谢查理!将在家里尝试并报告。但这看起来不错。我将不得不阅读扩展内容(...a)。似乎是正确的方法。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    相关资源
    最近更新 更多