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; en faisant cela, je peux faire boucle sur la matrice enfant, comment puis-je faire boucler / accéder aux données dans le catalogo; 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);
}
}
}
5 Réponses :
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); }))
}
})
Comment j'écrirais que: P> < Pré> xxx pré> ou si vous ne vous intéressez que le niveau le plus bas: p> tiers_array code> n'est en réalité pas un tableau. C'est un objet contenant un catalogo code> proepty qui est une matrice, vous devez donc itération sur troisième_array.catalogo code>.
Vous êtes proche, mais vous manquez d'accéder à la clé catalogo code>. Il devrait ressembler à:
Merci pour votre aide, j'avais du mal avec ça
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é p> array.prototype.foraytype.foreach () code>. 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)
)
)
);
Vous semblez avoir un tableau imbriqué avec plusieurs tableaux
Vous pouvez résoudre vos problèmes comme celui-ci
Voici un exemple
Il s'agit d'une seule gamme de tableaux, vous pouvez utiliser la première méthode et cela devrait fonctionner.