Introduction
Dans ce laboratoire, nous allons explorer le concept d'aplatissement d'un tableau jusqu'à une profondeur spécifiée en utilisant JavaScript. Nous allons apprendre à utiliser les méthodes de récursion, de réduction et de concaténation pour fusionner des éléments ou des tableaux. À la fin de ce laboratoire, vous serez capable d'aplatir efficacement les tableaux et de manipuler des structures de données imbriquées en JavaScript.
Comment aplatir un tableau avec JavaScript
Pour aplatir un tableau jusqu'à une profondeur spécifiée en JavaScript, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez la fonction
flattenavec deux arguments :arr(le tableau à aplatir) etdepth(le nombre maximum de niveaux imbriqués à aplatir). - À l'intérieur de la fonction
flatten, utilisez la récursion pour décrémenterdepthde1pour chaque niveau de profondeur. - Utilisez
Array.prototype.reduce()etArray.prototype.concat()pour fusionner des éléments ou des tableaux. - Ajoutez un cas de base pour le moment où
depthest égal à1pour arrêter la récursion. - Omettez le second argument,
depth, pour aplatir seulement jusqu'à une profondeur de1(aplatissement unique).
Voici le code pour la fonction flatten :
const flatten = (arr, depth = 1) =>
arr.reduce(
(a, v) =>
a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v),
[]
);
Vous pouvez tester la fonction flatten avec les exemples suivants :
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
Sommaire
Félicitations ! Vous avez terminé le laboratoire Aplatir un tableau. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.