Comment parcourir des objects de base de feu nesteds.
Publications- | |-Folder1------ | |-hdgjg76675e6r- | | |-Name | | |-Author | | | |+-hdgjdsf3275e6k | |+-hd345454575e6f |+-Folder2
Dans les publications, j’ai des dossiers et dans les dossiers, j’ai des objects (contenant des propriétés comme. Nom, Auteur)
J’ai parcouru les dossiers jusqu’à maintenant.
snapshot.forEach(function (snapshot) { var key = snapshot.key(); var obj = snapshot.val(); console.log(key); //output => Folder1 , Folder2 etc });
Quand j’imprime obj
console.log(obj);
Il affiche
Comment puis-je parcourir la variable obj car elle contient hdgjg76675e6r
, hdgjdsf3275e6k
etc.?
Vous obj
est juste un object javascript normal, vous pouvez simplement utiliser une simple boucle for:
for(var key in obj) { console.log(obj[key]); }
ou vous pouvez utiliser à nouveau un forEach
sur votre instantané:
folderSnapshot.forEach(function (objSnapshot) { objSnapshot.forEach(function (snapshot) { var val = snapshot.val(); console.log(val); // Should print your object }); });
L’arbre augmentera-t-il en profondeur? Sinon, la meilleure solution consiste simplement à faire une double boucle.
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; }); });
Pas besoin de sur-ingénierie, à mon avis.
Voici comment vous pouvez obtenir votre object d’objects en un tableau d’objects:
var myObject = {key1: {name: 'hello'}, key2: {name: 'hello2'}}; var myArrayOfObject = Object.values(myObject); console.log(myArrayOfObject); // Result: (2) [Object, Object]