从Firebase读取动态数组

时间:2017-09-05 20:02:45

标签: arrays firebase ionic-framework firebase-realtime-database angularfire2

我在ionic3中有一个项目,其中我有Firebase数组,如下所示。

List = {User3: true, User8: true, User9: false}

参数名称不固定,可以更改。因此,当我以上述格式接收数组时,我只需要列出真实的用户。我需要一个如下数组。

User = {User3, User8,}

如何在for循环中列出参数名称。

for(let item of List){
//I need to write item.User3 in order to retrive the value. But parameter name User3 is not fixed.
}

1 个答案:

答案 0 :(得分:1)

您的List不是"数组"。它是对象。它没有"参数名称"。它具有属性。要获取值为true的属性(用户),请使用Object.keys过滤对象的属性,对于值为true的属性。你可以用

之类的东西做到这一点
Object.keys(List).filter(user => List[user])

您无法使用for...of。对于数组而言,这不是对象。

您还可以仅查询值为true的节点,您可以通过查阅Firebase文档了解如何操作。

小点,但大写变量名称是混乱和非标准的。通常大写的标识符用于类等。