0
votes

Boucle à travers une matrice de niveau multiple

J'ai un tableau avec plusieurs niveaux, chaque tableau est un "jour" et chaque journée a différents événements (catalogo) catalogo est un tableau avec la nourriture qui sera servie ce jour-là. Le problème que j'ai essayé d'essayer d'afficher les données dans le catalogue; xxx pré>

en faisant cela, je peux faire boucle sur la matrice enfant, comment puis-je faire boucler / accéder aux données dans le catalogo; xxx pré>

J'ai essayé cela, mais ne fonctionne pas: p>

for ( var i = 0; i < data_array.length; i++ ) {
  var childArray = data_array[i];
  for( var j = 0; j < childArray.length; j++ ) { 
    var third_Array = childArray[j];
    for ( var k = 0; k < third_Array.length; k++) { 
      console.log(third_Array);
    }
  }
}


1 commentaires

Il s'agit d'une seule gamme de tableaux, vous pouvez utiliser la première méthode et cela devrait fonctionner.


5 Réponses :


5
votes

Bit difficile à tester sans données réelles, mais essayez celui-ci:

const data = [Array(7), Array(7), Array(7), Array(7)]; // your data
data.forEach(day => {
    day.forEach(element => { 
        element.catalogo.forEach(c => { console.log(c); }))
    }
})


0 commentaires

1
votes

tiers_array n'est en réalité pas un tableau. C'est un objet contenant un catalogo proepty qui est une matrice, vous devez donc itération sur troisième_array.catalogo .

Comment j'écrirais que: < Pré> xxx

ou si vous ne vous intéressez que le niveau le plus bas: xxx


0 commentaires

2
votes

Vous êtes proche, mais vous manquez d'accéder à la clé catalogo . Il devrait ressembler à: xxx


1 commentaires

Merci pour votre aide, j'avais du mal avec ça



0
votes

Sur la base de votre structure de données, vous devez itérer via la matrice extérieure, puis itérale à travers chaque élément des matrices internes et, enfin, accédez à la propriété code> catalogo code> de chaque réseau interne et itérale à travers cela.

Je vous simplifierais également la syntaxe en utilisant l'intégré array.prototype.foraytype.foreach () code>. p>

p>

const data = [
  [
    {
      catalogo: [
        { foo: 'bar00' },
        { foo: 'bar01' }
      ]
    },
    {
      catalogo: [
        { foo: 'bar02' },
        { foo: 'bar03' }
      ]
    }
  ],
  [
    {
      catalogo: [
        { foo: 'bar04' },
        { foo: 'bar05' }
      ]
    },
    {
      catalogo: [
        { foo: 'bar06' },
        { foo: 'bar07' }
      ]
    }
  ],
  [
    {
      catalogo: [
        { foo: 'bar08' },
        { foo: 'bar09' }
      ]
    },
    {
      catalogo: [
        { foo: 'bar10' },
        { foo: 'bar11' }
      ]
    }
  ]
];

data.forEach(
  (innerArray) => innerArray.forEach(
    (element) => element.catalogo.forEach(
      (item) => console.log(item.foo)
    )
  )
);


0 commentaires

0
votes

Vous semblez avoir un tableau imbriqué avec plusieurs tableaux Vous pouvez résoudre vos problèmes comme celui-ci Voici un exemple xxx


0 commentaires