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é) :
Inclusion via une balise script CDN :
Ajoutez le fichier Lodash depuis un CDN comme ceci :
- <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 :
- const _ = require('lodash'); /* Si vous utilisez Node.js */
-
- /* Exemple simple : suppression des doublons dans un tableau */
- const numbers = [1, 2, 2, 3, 4, 4, 5];
- const uniqueNumbers = _.uniq(numbers);
-
- 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
- const numbers = [1, 2, 3, 4, 5, 6];
- const chunks = _.chunk(numbers, 2);
-
- console.log(chunks); /* [[1, 2], [3, 4], [5, 6]] */
_.difference : Trouver les éléments qui ne sont pas communs entre deux tableaux
- const array1 = [1, 2, 3];
- const array2 = [2, 3, 4];
- const difference = _.difference(array1, array2);
-
- console.log(difference); /* [1] */
_.flatten : Aplatir un tableau imbriqué
- const nestedArray = [1, [2, [3, [4]]]];
- const flattened = _.flatten(nestedArray);
-
- console.log(flattened); /* [1, 2, [3, [4]]] */
Pour aplatir complètement un tableau, utilisez _.flattenDeep :
- const deeplyFlattened = _.flattenDeep(nestedArray);
-
- 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é
- const user = { name: "Annie", address: { city: "Paris" } };
- const city = _.get(user, "address.city", "Unknown");
-
- console.log(city); /* "Paris" */
_.set : Ajouter ou mettre à jour une propriété imbriquée
- const user = { name: "Annie" };
- _.set(user, "address.city", "Paris");
-
- console.log(user); /* { name: "Annie", address: { city: "Paris" } } */
_.merge : Fusionner des objets
- const obj1 = { name: "Annie", age: 25 };
- const obj2 = { age: 30, address: "Paris" };
- const merged = _.merge(obj1, obj2);
-
- 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
- const text = "bonjour le monde";
- const capitalized = _.capitalize(text);
-
- console.log(capitalized); /* "Bonjour le monde" */
_.camelCase : Convertir une chaîne en camelCase
- const text = "Bonjour le monde";
- const camelCased = _.camelCase(text);
-
- console.log(camelCased); /* "bojourLeMonde" */
_.kebabCase : Convertir une chaîne en kebab-case
- const text = "bonjour le monde";
- const kebabCased = _.kebabCase(text);
-
- 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
- const onResize = _.debounce(() => {
- console.log("Événement de redimensionner !");
- }, 300);
-
- window.addEventListener("resize", onResize);
_.cloneDeep : Cloner profondément un objet ou un tableau
- const obj = { name: "Annie", details: { age: 25 } };
- const cloned = _.cloneDeep(obj);
-
- cloned.details.age = 30;
- console.log(obj.details.age); /* 25 */
_.isEqual : Comparer deux objets ou tableaux profondément
- const obj1 = { name: "Annie", age: 25 };
- const obj2 = { name: "Annie", age: 25 };
-
- console.log(_.isEqual(obj1, obj2)); /* true */
Dernière mise à jour : Mardi, le 21 janvier 2025