Introduction
Dans ce laboratoire, nous allons explorer comment partitionner un tableau en utilisant une fonction fournie avec JavaScript. Nous utiliserons la méthode Array.prototype.reduce() pour accumuler les valeurs partitionnées dans un tableau tout en vérifiant les modifications de la sortie de la fonction fournie. À la fin de ce laboratoire, vous aurez une compréhension solide de la manière de partitionner des tableaux en JavaScript.
Algorithme de partitionnement de tableau
Pour partitionner un tableau, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Appliquez la fonction
fnfournie à chaque valeur du tableauarrdonné. - Divisez le tableau chaque fois que
fnrenvoie une nouvelle valeur. - Utilisez
Array.prototype.reduce()pour créer un objet accumulateur qui contient le tableau résultant et la dernière valeur renvoyée parfn. - Utilisez
Array.prototype.push()pour ajouter chaque valeur dearrà la partition appropriée dans le tableau accumulateur. - Retournez le tableau résultant.
Voici la mise en œuvre du code :
const partitionBy = (arr, fn) =>
arr.reduce(
({ res, last }, v, i, a) => {
const next = fn(v, i, a);
if (next !== last) res.push([v]);
else res[res.length - 1].push(v);
return { res, last: next };
},
{ res: [] }
).res;
Utilisation de l'exemple :
const numbers = [1, 1, 3, 3, 4, 5, 5, 5];
partitionBy(numbers, (n) => n % 2 === 0); // [[1, 1, 3, 3], [4], [5, 5, 5]]
partitionBy(numbers, (n) => n); // [[1, 1], [3, 3], [4], [5, 5, 5]]
Sommaire
Félicitations ! Vous avez terminé le laboratoire sur le partitionnement d'un tableau. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.