Section courante

A propos

Section administrative du site

Les premiers pas

Lodash est une bibliothèque JavaScript populaire et puissante fournissant des outils utilitaires pour simplifier le traitement des tableaux, des objets, des chaînes de caractères et d'autres structures de données.

Installation de Lodash

Lodash peut être installé via npm ou inclus directement dans votre projet.

Installation avec npm (recommandé) :

npm install lodash

Inclusion via une balise script CDN :

Ajoutez le fichier Lodash depuis un CDN comme ceci :

  1. <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>

Après cela, la bibliothèque sera accessible via l'objet global _.

Utilisation de Lodash

Exemple de base :

  1. const _ = require('lodash'); /* Si vous utilisez Node.js */
  2.  
  3. /* Exemple simple : suppression des doublons dans un tableau */
  4. const numbers = [1, 2, 2, 3, 4, 4, 5];
  5. const uniqueNumbers = _.uniq(numbers);
  6.  
  7. console.log(uniqueNumbers); /* [1, 2, 3, 4, 5] */

Manipulation des tableaux

Lodash offre une large gamme de fonctions pour travailler avec des tableaux.

_.chunk : Diviser un tableau en sous-tableaux de taille fixe

  1. const numbers = [1, 2, 3, 4, 5, 6];
  2. const chunks = _.chunk(numbers, 2);
  3.  
  4. console.log(chunks); /* [[1, 2], [3, 4], [5, 6]] */

_.difference : Trouver les éléments qui ne sont pas communs entre deux tableaux

  1. const array1 = [1, 2, 3];
  2. const array2 = [2, 3, 4];
  3. const difference = _.difference(array1, array2);
  4.  
  5. console.log(difference); /* [1] */

_.flatten : Aplatir un tableau imbriqué

  1. const nestedArray = [1, [2, [3, [4]]]];
  2. const flattened = _.flatten(nestedArray);
  3.  
  4. console.log(flattened); /* [1, 2, [3, [4]]] */

Pour aplatir complètement un tableau, utilisez _.flattenDeep :

  1. const deeplyFlattened = _.flattenDeep(nestedArray);
  2.  
  3. console.log(deeplyFlattened); /* [1, 2, 3, 4] */

Manipulation des objets

Les fonctions de Lodash pour les objets facilitent l'accès, la mise à jour et la comparaison des données.

_.get : Accéder à une propriété imbriquée en toute sécurité

  1. const user = { name: "Annie", address: { city: "Paris" } };
  2. const city = _.get(user, "address.city", "Unknown");
  3.  
  4. console.log(city); /* "Paris" */

_.set : Ajouter ou mettre à jour une propriété imbriquée

  1. const user = { name: "Annie" };
  2. _.set(user, "address.city", "Paris");
  3.  
  4. console.log(user); /* { name: "Annie", address: { city: "Paris" } } */

_.merge : Fusionner des objets

  1. const obj1 = { name: "Annie", age: 25 };
  2. const obj2 = { age: 30, address: "Paris" };
  3. const merged = _.merge(obj1, obj2);
  4.  
  5. console.log(merged); /* { name: "Annie", age: 30, address: "Paris" } */

Traitement des chaînes de caractères

Lodash fournit également des fonctions pour travailler avec des chaînes de caractères.

_.capitalize : Mettre en majuscule la première lettre d'une chaîne de caractères

  1. const text = "bonjour le monde";
  2. const capitalized = _.capitalize(text);
  3.  
  4. console.log(capitalized); /* "Bonjour le monde" */

_.camelCase : Convertir une chaîne en camelCase

  1. const text = "Bonjour le monde";
  2. const camelCased = _.camelCase(text);
  3.  
  4. console.log(camelCased); /* "bojourLeMonde" */

_.kebabCase : Convertir une chaîne en kebab-case

  1. const text = "bonjour le monde";
  2. const kebabCased = _.kebabCase(text);
  3.  
  4. console.log(kebabCased); /* "bonjour-le-monde" */

Utilitaires divers

Lodash propose des fonctions utilitaires utiles dans divers cas.

_.debounce : Optimiser les appels fréquents à une fonction

  1. const onResize = _.debounce(() => {
  2.   console.log("Événement de redimensionner !");
  3. }, 300);
  4.  
  5. window.addEventListener("resize", onResize);

_.cloneDeep : Cloner profondément un objet ou un tableau

  1. const obj = { name: "Annie", details: { age: 25 } };
  2. const cloned = _.cloneDeep(obj);
  3.  
  4. cloned.details.age = 30;
  5. console.log(obj.details.age); /* 25 */

_.isEqual : Comparer deux objets ou tableaux profondément

  1. const obj1 = { name: "Annie", age: 25 };
  2. const obj2 = { name: "Annie", age: 25 };
  3.  
  4. console.log(_.isEqual(obj1, obj2)); /* true */


Dernière mise à jour : Mardi, le 21 janvier 2025