[英]Iterating through nested firebase objects - Javascript
如何遍历嵌套的firebase对象。
Publications-
|
|-Folder1------
| |-hdgjg76675e6r-
| | |-Name
| | |-Author
| |
| |+-hdgjdsf3275e6k
| |+-hd345454575e6f
|+-Folder2
在出版物我有文件夹和文件夹我有对象(包含属性,如。姓名,作者)
我已经遍历文件夹到现在为止。
snapshot.forEach(function (snapshot) {
var key = snapshot.key();
var obj = snapshot.val();
console.log(key);
//output => Folder1 , Folder2 etc
});
当我打印obj
console.log(obj);
它显示
我如何迭代obj变量,因为它包含hdgjg76675e6r
, hdgjdsf3275e6k
等以及进一步?
你的obj
只是一个普通的javascript对象,你可以使用一个简单的for循环:
for(var key in obj) {
console.log(obj[key]);
}
或者您可以在快照上再次使用forEach
:
folderSnapshot.forEach(function (objSnapshot) {
objSnapshot.forEach(function (snapshot) {
var val = snapshot.val();
console.log(val); // Should print your object
});
});
树会增加深度吗? 如果没有,那么这里最好的解决方案就是做一个双循环。
snapshot.forEach(function (snapshot) {
var key = snapshot.key();
var obj = snapshot.val();
console.log(key);
//output => Folder1 , Folder2 etc
obj.forEach(function (book) {
var title = book.title;
var author = book.author;
});
});
在我看来,不需要过度设计。
这是如何将对象对象提供给对象数组的简单方法:
var myObject = {key1: {name: 'hello'}, key2: {name: 'hello2'}};
var myArrayOfObject = Object.values(myObject);
console.log(myArrayOfObject);
// Result: (2) [Object, Object]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.