comment puis-je faire une boucle pour parcourir chaque élément console.log, Je souhaite effectuer une itération uniquement pour une boucle c'est le tableau
let array = [
[1,2,3],
[4,5,6],
[7,8,9],
[[10,11,12],13,14],
[[15,16,16],[17,18,[19,20]]]
];
3 Réponses :
Vous auriez besoin d'une boucle imbriquée. JavaScript a différentes manières de faire cela. Voici un exemple suivant la programmation fonctionnelle:
array.forEach(function (outer) {
outer.forEach(function (inner) {
console.log(inner)
})
});
Puisque vous avez un tableau profondément imbriqué, vous pouvez également vouloir flat d'abord.
Vous pouvez essayer quelque chose comme ça?
Cette fonction devrait consigner dans la console tous les éléments du tableau et tous les sous-tableaux.
// using Array.forEach
const recursiveLoop1 = (elem) => {
if (Array.isArray(elem)) {
elem.forEach((innerElem) => {
recursiveLoop1(innerElem)
})
} else {
console.log(elem)
}
}
// using classic for-loop
const recursiveLoop2 = (elem) => {
if (Array.isArray(elem)) {
for (let i = 0; i < elem.length; i++) {
recursiveLoop2(elem[i])
}
} else {
console.log(elem)
}
}
let array = [
[1,2,3],
[4,5,6],
[7,8,9],
[[10,11,12],13,14],
[[15,16,16],[17,18,[19,20]]]
];
recursiveLoop1(array);
recursiveLoop2(array);
J'ai besoin de faire une boucle jusqu'à l'itération de chaque élément
@Robiul J'ai mis à jour la réponse avec une fonction récursive qui utilise une boucle for standard, est-ce utile?
Obtenez un tableau plat et effectuez une itération pour une sortie.
const show = v => {
if (Array.isArray(v)) v.forEach(show);
else console.log(v);
};
let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];
array.forEach(show);
Une approche plus classique avec un rappel récursif.
let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];
array
.flat(Infinity)
.forEach(v => console.log(v));
J'ai besoin d'une boucle pour itérer toutes choses
Comment essayez-vous de l'itérer.? Il est préférable de montrer ce que vous avez accompli et où vous êtes resté coincé.
let array = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13,14], [[15,16,16] , [17,18, [19,20]]]] for (let i = 0; i