J'ai un tableau:
Comment puis-je l'itérair à la sortie. / p> Comment puis-je faire ce moyen le plus simple? Dois-je appeler la méthode de manière récursive? P> Toute aide serait vraiment appréciée p> p> x = ['A', 'AA', 'AA', 'AAA']; CODE> P>
4 Réponses :
La méthode réduite () exécute une fonction de réducteur (que vous fournissez) sur chaque élément de la matrice, ce qui entraîne une seule valeur de sortie.
J'essaie de réparer ma réponse. Rendre la réponse plus appréciée.
Désolé, j'ai trouvé le vrai problème et je l'ai résolu. Merci pour vos conseils.
Que diriez-vous d'un classique pour la boucle avec une jointure:
p>
const x = ["A", "AA", "AAA"] const prefix = "car_" const output = [] for (let i = 1; i <= x.length; i++) { output.push(prefix + x.slice(0, i).join("_")) } console.log(output)
Je reçois le suivi: ["car_a, aa, aaa"]] code> real sortie:
["car_a, car_a_aa, car_a_aa_aaa"] code>
@Tanviralam Voir le code supplémentaire.
Vous pouvez utiliser une fonction récursive si vous le souhaitez.
p>
function print(pre, sep, arr, i) { if (i >= arr.length) return; const s = pre + sep + arr[i]; console.log(s); print(s, sep, arr, i+1); } const x = ['A', 'AA', 'AAA']; print("car", "_", x, 0);
Je pense que @ Sebastian-Simon Réponse est le meilleur jusqu'à présent. Vous pouvez le faire dans une fonction carte em> avec Slice em> et Join em> ou à l'intérieur d'un réduisez em> mais être conscient que vous êtes au courant faire un effet secondaire avec cette poussée de réseau. p> const x = ['A', 'AA', 'AAA'];
const result = x.map((_, i, arr) => "car_" + arr.slice(0, i + 1).join("_"));
const result2 = [];
x.reduce((acc, val, i, arr) => {
acc += '_' + val;
result2.push('car' + acc);
return acc;
}, '');
console.log(result);
console.log(result2);
Ou pour la sortie complète:
x.map ((_, i ,r) => "car_" + arr.slice (0, i + 1) .join ("_")); code>.
@SebastiansItianImon I Obtenez le suivi de vente suivant:
["car_a, aa, aaa"] code> real sortie:
["car_a, car_a_aa, car_a_aa_aaa"] code>
@Tanviralam Non, vous ne le faites pas .