Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript I';当试图使用forEach函数控制台记录一个简单对象时,我变得不确定_Javascript - Fatal编程技术网

Javascript I';当试图使用forEach函数控制台记录一个简单对象时,我变得不确定

Javascript I';当试图使用forEach函数控制台记录一个简单对象时,我变得不确定,javascript,Javascript,我知道这是一个很难回答的问题,但我就是不明白为什么在我使用下面的forEach函数时,当我试图从我的数据库中控制台记录一个对象的属性时,我没有定义 readLocations = () => { console.log("readlocations called") let locations = firebase .database() .ref("/locations/"); locations.on('value', (snaps

我知道这是一个很难回答的问题,但我就是不明白为什么在我使用下面的forEach函数时,当我试图从我的数据库中控制台记录一个对象的属性时,我没有定义

  readLocations = () => {
    console.log("readlocations called")
    let locations = 
    firebase
    .database()
    .ref("/locations/");
    locations.on('value', (snapshot) => {
      snapshot.forEach((thing) => {
        console.log("thingy object", thing)
        console.log("thingy latitude", thing.latitude)
      })
    });  
  }
第一个console.log记录以下内容

thingy Object {
  "created_at": 1574980834124,
  "latitude": 52.4673777,
  "longitude": 13.4327486,
}
thingy Object {
  "created_at": 1575026634915,
  "latitude": 52.5169399,
  "longitude": 13.4175105,
}
thingy Object {
  "created_at": 1575043262077,
  "latitude": 52.5177105,
  "longitude": 13.4153796,
}
thingy Object {
  "created_at": 1575115938922,
  "latitude": 52.5097333,
  "longitude": 13.2829992,
}

但是,第二个日志返回未定义的

thingy latitude undefined
thingy latitude undefined
thingy latitude undefined
thingy latitude undefined
thingy latitude undefined

我在这里遗漏了什么?

听起来好像
东西是异步填充的,在您记录它之后,一般来说,记录对象不会在键名周围插入双引号。听起来你的DB调用并没有返回一个简单的对象。我建议检查API以确定是否需要使用一些特殊的内容来访问字段。也许可以试试
thing.get('latitude')
看起来你需要调用
thing.val()
谢谢@robbtraster,这很有效!