Introduction
Dans ce laboratoire, nous allons explorer comment utiliser la fonction pickBy() pour créer un nouvel objet composé uniquement des paires clé-valeur pour lesquelles une fonction donnée renvoie true. Cette fonction peut être utile dans des scénarios où vous devez filtrer certaines propriétés d'un objet selon certains critères. Nous allons apprendre à utiliser Object.keys(), Array.prototype.filter() et Array.prototype.reduce() pour accomplir cette tâche.
Fonction pour sélectionner les clés d'un objet qui correspondent à une condition donnée
Pour sélectionner les clés d'un objet qui correspondent à une condition donnée, utilisez la fonction pickBy(). Cette fonction crée un nouvel objet composé des propriétés pour lesquelles la fonction donnée renvoie une valeur véridique.
- Utilisez
Object.keys()etArray.prototype.filter()pour supprimer les clés pour lesquellesfnrenvoie une valeur fausse. - Utilisez
Array.prototype.reduce()pour convertir les clés filtrées en un objet avec les paires clé-valeur correspondantes. - La fonction de rappel est appelée avec deux arguments : (valeur, clé).
Voici le code pour la fonction pickBy() :
const pickBy = (obj, fn) =>
Object.keys(obj)
.filter((k) => fn(obj[k], k))
.reduce((acc, key) => ((acc[key] = obj[key]), acc), {});
Vous pouvez utiliser cette fonction pour sélectionner les clés qui correspondent à une condition. Par exemple :
pickBy({ a: 1, b: "2", c: 3 }, (x) => typeof x === "number");
// { 'a': 1, 'c': 3 }
Sommaire
Félicitations ! Vous avez terminé le laboratoire Sélectionner les clés d'objet correspondantes. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.