Introduction
Dans ce laboratoire, nous allons explorer la programmation JavaScript et apprendre à utiliser ensemble les méthodes Array.prototype.reduce(), Array.prototype.filter() et Array.prototype.map() pour créer une fonction qui filtre un tableau d'objets selon une condition et élimine également les clés non spécifiées. Ce laboratoire nous aidera à mieux comprendre la programmation fonctionnelle en JavaScript et à manipuler efficacement des tableaux d'objets de manière concise.
Filtrer des objets selon une condition et des clés
Pour filtrer un tableau d'objets selon une condition tout en éliminant également les clés non spécifiées, utilisez la fonction reducedFilter().
Voici les étapes à suivre :
Utilisez
Array.prototype.filter()pour filtrer le tableau selon le prédicatfnde sorte qu'il renvoie les objets pour lesquels la condition a retourné une valeur vraie.Utilisez
Array.prototype.map()sur le tableau filtré pour renvoyer le nouvel objet.Utilisez
Array.prototype.reduce()pour éliminer les clés qui n'ont pas été fournies en tant qu'argumentkeys.
const reducedFilter = (data, keys, fn) =>
data.filter(fn).map((el) =>
keys.reduce((acc, key) => {
acc[key] = el[key];
return acc;
}, {})
);
Voici un exemple d'utilisation de la fonction reducedFilter() :
const data = [
{
id: 1,
name: "john",
age: 24
},
{
id: 2,
name: "mike",
age: 50
}
];
reducedFilter(data, ["id", "name"], (item) => item.age > 24);
// Sortie : [{ id: 2, name:'mike'}]
Pour commencer à pratiquer la programmation, ouvrez le Terminal/SSH et tapez node.
Résumé
Félicitations ! Vous avez terminé le laboratoire sur le filtrage des correspondances et des valeurs non spécifiées. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.