En el post de hoy analizaremos las ventajas de uso de las Bibliotecas Lodash, una biblioteca moderna de utilidades de JavaScript que actualmente está dando mucho que hablar. ¡Atentos!

¿Qué son las bibliotecas Lodash?

Lodash es una librería de referencia en JavaScript. Además, es el sucesor más famoso de underscore.js.

Se usa para simplificar el manejo y edición de objetos, arrays, etc. ya que este proporciona muchos métodos de utilidad para hacerlo.

A su vez, simplificando este trabajo conseguimos que nuestro código sea mucho más legible y fácil de seguir para terceras personas.

Como bien se ha dicho antes, es el sucesor más famoso de underscore.js. En un primer momento fue un simple “fork” y se añadieron más funciones.

A día de hoy ha sido rediseñada por completo.

La información en GitHub la tienes aquí.

La documentación la tienes aquí.

Instalación de Lodash

  • Navegador web
  • NPM
npm install --save lodash
  • Uso en NodeJS (En nuestro file de Node, cargamos el componente)
const _ = require('lodash')

Forma tradicional vs Lodash

A continuación, vamos a ver algunos ejemplos pequeños sobre cómo se ejecutarían ciertas funciones con Lodash y cómo las haríamos si no contásemos con la misma.

  1. Devolver el valor de una clave del primer item de un array que es el valor de otra clave:
    // Obtener el nombre del primer hermano de cada persona
    var personas = [{
        "nombre": "Jose Luis",
        "hermanos": [{"nombre":"David"}, {"nombre": "Sonia"}]
    }, {
        "nombre": "Alfonso Manuel",
        "hermanos": [{"nombre":"Gustavo"}, {"nombre": "Juan"}]
    }];
    
    // Array's map method.
    var nombres = personas.map(function(item){
       return item.hermanos[0].nombre;
    });
    // [ 'David', 'Gustavo' ]
    
    // Lodash
    var nombresBis = _.map(personas, 'hermanos[0].nombre');
    // [ 'David', 'Gustavo' ]
  2. Obtener número aleatorio entre dos números:
    // Obtener un número aleatorio entre 15 y 20.
    
    // Función nativa
    function getRandomNumber(min, max){
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    
    var random = getRandomNumber(15, 20);
    // ej: 16
    
    // Lodash
    var randomTwo = _.random(15, 20);
    // ej: 19
  3. Extend object:
    // Adding extend function to Object.prototype
    Object.prototype.extend = function(obj) {
        for (var i in obj) {
            if (obj.hasOwnProperty(i)) {
                this[i] = obj[i];
            }
        }
    };
    
    var objA = {"nombre": "Jose Luis", "coche": "BMW"};
    var objB = {"nombre": "Alfonso", "edad": 24};
    
    objA.extend(objB);
    // {"nombre": "Alfonso", "edad": 24, "coche": "BMW"}
    
    // Lodash
    _.assign(objA, objB);
    // {"nombre": "Alfonso", "edad": 24, "coche": "BMW"}
  4. Obtener último elemento:
    var personas = [{
        "nombre": "Jose Luis"
    }, {
        "nombre": "Alfonso Manuel"
    }, {
    	"nombre": "Domingo"
    }];
    
    var last = personas[personas.length - 1];
    // Domingo
    
    var lastTwo = _.last(personas);
    // Domingo

Conclusiones

Lodash es, sin lugar a dudas, una muy buena biblioteca y de gran utilidad. Continuaré usándola en todos mis proyectos de NodeJS.

Asimismo, destacaría ventajas como la reducción de la cantidad de código repetitivo.

Además, también mejora la claridad de la lógica de mi aplicación.

Sin embargo, para lo que más me ha servido ha sido para pensar de una manera más funcional. Desmenuzo mi aplicación en módulos más pequeños con un enfoque singular y sin efectos secundarios.

Finalmente, esta modularidad me permite escribir un código de más calidad.

¿Quieres estar al tanto de las últimas novedades de nuestro blog?