Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 如何从该对象获取数据? 如何从firebase数据库快照创建的对象中获取“全名”。_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何从该对象获取数据? 如何从firebase数据库快照创建的对象中获取“全名”。

Javascript 如何从该对象获取数据? 如何从firebase数据库快照创建的对象中获取“全名”。,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,Console.log()结果 [] 0: { 出生日:“1996-05-23”, 完整地址:“地址0”, 全名:“Udayanga”… } 1:{ 出生日:“1997-03-13”, 完整地址:“地址4”, 全名:“Akila Athauda”… } 2:{ 出生日:“1996-10-18”, 完整地址:“地址5”, 全名:“Chamindu Milan”… } 3:{ 出生日:“1996-03-03”, 完整地址:“地址1”, 全名:“Dilshan Rajapaksha”… } 4:{

Console.log()结果

[] 0: { 出生日:“1996-05-23”, 完整地址:“地址0”, 全名:“Udayanga”… }

1:{ 出生日:“1997-03-13”, 完整地址:“地址4”, 全名:“Akila Athauda”… }

2:{ 出生日:“1996-10-18”, 完整地址:“地址5”, 全名:“Chamindu Milan”… }

3:{ 出生日:“1996-03-03”, 完整地址:“地址1”, 全名:“Dilshan Rajapaksha”… }

4:{ 出生日:“1997-01-08”, 完整地址:“地址2”, 全名:“Gimhana Jayasekara”… }

长度:5 proto:数组(0)

未捕获的TypeError:无法读取未定义的属性“full_name”

试试这个:

var item = childSnapshot.val();
for(i in item){
console.log(item[i]['full_name']);
}

数据从Firebase异步加载。加载数据时,主代码将继续运行,即当
console.log(returnArr[0].full_name)加载时运行并记录错误。然后,当数据可用时,将调用回调函数并设置变量。Chrome在这里对您造成了伤害,并更新了
console.log(returnArr)的输出在回调运行后动态执行。这意味着任何需要数据库数据的代码都必须在回调内部,或者从那里调用。关于这两个方面的例子,请看我的回答:还有其他一些:@FrankvanPuffelen,你是对的。非常感谢你。我所需要做的就是将其余的代码放入firebase数据库快照回调函数中。它不是
项[I]。全名,因为它是一个数组,每个数组键中都有一个属性对象。方法val()返回一个数组。我试过这个,效果很好。但我确实将其余代码放在了firebase数据库快照回调函数中。
//console.log(returnArr);
//console.log(returnArr[0].full_name);
var item = childSnapshot.val();
for(i in item){
console.log(item[i]['full_name']);
}