Javascript 如何从该对象获取数据? 如何从firebase数据库快照创建的对象中获取“全名”。
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” 试试这个: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:{
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']);
}