Rechercher dans ce blog

vendredi 19 mai 2023

Quand GPT démystifie l'usage d'une librairie JS

S'il y a une librairie pratique en javascript, c'est bien Underscore.js. Un véritable couteau suisse qui nous facilite grandement la tâche en proposant plus d'une centaine de fonctions très pratiques. Mais il arrive parfois que l'usage d'une fonction nous paraît nébuleux et donc difficile à mettre en pratique. 

Exemple: 

where_.where(list, properties) source
Looks through each value in the list, returning an array of all the values that matches the key-value pairs listed in properties.

_.where(listOfPlays, {author: "Shakespeare", year: 1611});
=> [{title: "Cymbeline", author: "Shakespeare", year: 1611},
    {title: "The Tempest", author: "Shakespeare", year: 1611}]

Et je reste sur ma faim! 😨

Je demande à GPT :

> Peux-tu m'expliquer l'usage de la fonction _.where de la bibliothèque underscore

Oui, bien sûr !

La fonction _.where de la bibliothèque Underscore.js permet de rechercher dans une liste d'objets tous les objets qui ont une propriété et une valeur donnée.

La syntaxe générale pour utiliser la fonction _.where est la suivante :

_.where(liste, propriété);


- liste : est la liste des objets dans laquelle vous voulez rechercher la propriété et la valeur.
- propriété : est un objet ou un tableau d'objets qui spécifie la propriété à rechercher et sa valeur. Si vous utilisez un objet, toutes les propriétés et leurs valeurs seront recherchées. Si vous utilisez un tableau d'objets, chaque objet représentera une propriété différente à rechercher.

Voici un exemple concret d'utilisation de la fonction _.where. Imaginons que nous avons une liste d'utilisateurs avec des propriétés telles que id, nom et âge.

const utilisateurs = [
  { id: 1, nom: 'Alice', age: 25 },
  { id: 2, nom: 'Bob', age: 30 },
  { id: 3, nom: 'Charlie', age: 20 },
  { id: 4, nom: 'David', age: 25 },
];

Si nous voulons rechercher tous les utilisateurs qui ont 25 ans, nous pouvons utiliser la fonction _.where de la manière suivante :

const utilisateursDe25Ans = _.where(utilisateurs, { age: 25 });
console.log(utilisateursDe25Ans);
// va afficher [{ id: 1, nom: 'Alice', age: 25 }, { id: 4, nom: 'David', age: 25 }]


La fonction _.where renvoie une nouvelle liste contenant tous les objets qui correspondent à la propriété et à la valeur recherchées. 

Notez que plusieurs objets peuvent être retournés si plusieurs objets ont la propriété et la valeur données. Si aucun objet ne correspond, la fonction renvoie une liste vide ([]).

Et tout est plus claire !

Voilà la puissance d'un outil qui remplace pour ma part la recherche d'une réponse dans des forums



Aucun commentaire:

Enregistrer un commentaire

Merci de votre avis. Selon son contenu, je serai libre de donner un retour, correction ou suppression.