Sélectionner les clés d'objet correspondantes

Beginner

This tutorial is from open-source community. Access the source code

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() et Array.prototype.filter() pour supprimer les clés pour lesquelles fn renvoie 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.