Gow*_*ham 12 javascript firebase ionic-framework ionic3 angular
我想snapshot.val()基于用户密钥遍历我收到的数据并将它们推送到一个数组中.我尝试在for..in循环的帮助下这样做,
firebase.database().ref('\interests').child("I would like to dine with").on('value', (snapshot) => {
var data = snapshot.val();
if(snapshot.exists()){
for(let key in data){
console.log("data[key]",data[key]);
this.intVal.push(data[key]);
console.log("intVal",this.intVal);
}
}
})
Run Code Online (Sandbox Code Playgroud)
但我得到这样的东西,
如果你注意到,我的第一个数组在用户键下包含1个对象,而我的第二个数组在其用户键下包含3个对象.如何在单独的数组中推送每个值?
任何帮助将非常感激!谢谢
Fra*_*len 10
有一种DataSnapshot.forEach()方法正是为此目的:
firebase.database().ref('\interests').child("I would like to dine with").on('value', (snapshot) => {
snapshot.forEach((child) => {
console.log(child.key, child.val());
this.intVal.push(child.val());
console.log("intVal",this.intVal);
});
}
})
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以再次迭代每个对象的数据
for(let key in data){
console.log("data[key]",data[key]);
for(innerKey in data[key]){
var obj = {};
obj[innerKey]=data[key][innerKey];
this.intVal.push(obj);
}
console.log("intVal",this.intVal);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6026 次 |
| 最近记录: |