Close
  • Home
  • Servicios
    • Desarrollo a medida
    • Big Data Platform
    • Testing & QA
    • Integraciones complejas
    • Consultoría tecnológica
    • Innovación
  • Agilia Center
    • Cómo trabajamos
    • Sobre nosotros
    • Blog
  • Portfolio
  • Trabaja con nosotros
    • Prácticas de empresa
    • Lista de ofertas
  • Contacto
  • en_GBEN
  • es_ESES
  • Home
  • Servicios
    • Desarrollo a medida
    • Big Data Platform
    • Testing & QA
    • Integraciones complejas
    • Consultoría tecnológica
    • Innovación
  • Agilia Center
    • Cómo trabajamos
    • Sobre nosotros
    • Blog
  • Portfolio
  • Trabaja con nosotros
    • Prácticas de empresa
    • Lista de ofertas
  • Contacto
  • en_GBEN
  • es_ESES

  • Home
  • Servicios
    • Desarrollo a medida
    • Big Data Platform
    • Testing & QA
    • Integraciones complejas
    • Consultoría tecnológica
    • Innovación
  • Agilia Center
    • Cómo trabajamos
    • Sobre nosotros
    • Blog
  • Portfolio
  • Trabaja con nosotros
    • Prácticas de empresa
    • Lista de ofertas
  • Contacto
  • en_GBEN
  • es_ESES

Sin categoría

Bibliotecas Lodash: ¿qué son y en qué consisten?

Cristian Rodriguez
11 de abril de 2018

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.


Leave A Reply Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

ReactJS vs React Native
Previous Article
Los 5 plugins de WooCommerce que tu tienda virtual necesita
Next Article

Oficina de Sevilla

Calle Arquitectura
2, Torre 11, 41015, Sevilla.

Oficina de Huelva

Calle Caucho, nº1, Edificio 2000,  2ª, 21110, Aljaraque, Huelva

Teléfono de contacto

+34624809507

Empresa

Sobre nosotros
Política de gestión de la seguridad de la información
Nuestro blog
Trabaja con nosotros
Nuestros proyectos
Contacta con nosotros

Síguenos en nuestras redes sociales

Linkedin
© Copyright 2024
Do you accept our cookies?
We use cookies on our website to provide you with the best experience based on your preferences. By clicking "Accept," you consent to the use of ALL our cookies.
Cookie settings¡Acepto!

Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR
ES
EN ES
Agilia CenterLogo Header Menu
  • Home
  • Servicios
    • Desarrollo a medida
    • Big Data Platform
    • Testing & QA
    • Integraciones complejas
    • Consultoría tecnológica
    • Innovación
  • Agilia Center
    • Cómo trabajamos
    • Sobre nosotros
    • Blog
  • Portfolio
  • Trabaja con nosotros
    • Prácticas de empresa
    • Lista de ofertas
  • Contacto
  • en_GBEN
  • es_ESES