Itération dans des objects de base de feu nesteds – Javascript

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

entrez la description de l'image ici

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]