首页 > 解决方案 > 如何访问对象的数据?

问题描述

我有一个从 Firebase 读取数据的函数。我可以读取对象但不能读取属性。

我尝试解析内容,但出现错误。

这是功能:

 this.afAuth.authState.subscribe(data => {
            this.itemsList = this.afDatabase.list(`oders/${data.uid}`).valueChanges();
            
            console.log(this.itemsList)
            this.itemsList.forEach(data =>{
              console.log(data) // this work
              console.log(data.name) // this doesn't work (undifined in console)
            })
          })

我的JSON OBJECT

(14) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {hour: 1567395936608, id: 0, name: "Salami", price: "8"}
1: {hour: 1567395936608, id: 9, name: "Suplémment Fromage", price: "8"}
2: {hour: 1567395936608, id: 4, name: "bolo", price: "8"}
3: {hour: 1567395936608, id: 4, name: "bolo", price: "8"}
4: {hour: 1567395985542, id: 4, name: "bolo", price: "8"}
5: {hour: 1567395985542, id: 0, name: "Salami", price: "8"}
6: {hour: 1567395985542, id: 9, name: "Suplémment Fromage", price: "8"}
7: {hour: 1567397849623, id: 6, name: "Dems", price: "15"}
8: {hour: 1567397849623, id: 0, name: "Salami", price: "8"}
9: {hour: 1567397849623, id: 9, name: "Suplémment Fromage", price: "8"}
10: {hour: 1567398309241, id: 0, name: "Salami", price: "8"}
11: {hour: 1567398309241, id: 9, name: "Suplémment Fromage", price: "8"}
12: {hour: 1567402336588, id: 0, name: "Salami", price: "8"}
13: {hour: 1567402336588, id: 9, name: "Suplémment Fromage", price: "8"}

谢谢!

标签: angulartypescriptfirebase

解决方案


由于data本身是一个数组,因此您需要运行另一个循环

试试这样:

this.itemsList.forEach(data =>{
   this.data.forEach(e=>{
       console.log(e.name) 
   })
})

或者你可以这样做:

this.itemsList[0].forEach(data =>{
    console.log(data.name) 
})

推荐阅读