2017-09-30 6 views
1

Mes données ressemble à ceComment ajouter une numérotation de compteur pour une boucle d'une boucle?

posts : { 
    author1 : { 
     "article1" : { }, 
     "article2" : { } 
    }, 
    author2 : { 
     "article1" : { }, 
     "article2" : { } 
    } 

J'ai un compteur qui boucle à travers des articles et des numéros Object.keys().map((key)=>.. et affiche ensuite compteur pour chaque article key + 1 etc. fonctionne parfaitement bien, mais maintenant je veux afficher tous les auteurs et montrer tous des articles.

Mon interface utilisateur ressemble à ceci

Auteur1

  1. Article
  2. Article

Auteur2

  1. Article
  2. Article

Je veux changer comme ça

Auteur1

  1. Article1
  2. Article2

Auteur2

  1. article 1er
Article2

Comment puis-je faire le deuxième départ de la boucle de la fin Auteur1

+2

Montrez votre code dans votre question s'il vous plaît – Peter

+2

Il suffit de mettre la variable dans le cadre de la boucle extérieure, et non dans l'intérieure. – germanfr

Répondre

1

Vous pouvez utiliser Object.entries() pour itérer les propriétés et les valeurs d'un objet. Remarque, il y a des noms de propriété en double à un code à la question

const posts = { 
 
    author1: { 
 
    "article1": {a:1}, 
 
    "article2": {b:2} 
 
    }, 
 
    author2: { 
 
    "article1": {c:3}, 
 
    "article2": {d:4} 
 
    } 
 
} 
 

 
for (let [key, prop] of Object.entries(posts)) { 
 
    console.log(`${key}:\n`); 
 
    for (let [item, articles] of Object.entries(prop)) { 
 
    console.log(`${item}:${JSON.stringify(articles)}\n`);  
 
    } 
 
}