Hamburger Icon
Just, alternativa a Lodash en JavaScript

Just, alternativa a Lodash en JavaScript

Cuando miramos el código de diferentes proyectos, en multitud de ocasiones encontramos funciones básicas que son comunes en todos ellos. Por este motivo existen librerías de utilidades como Just o Lodash.

Lodash seguramente sea la más famosa de estas librerías, es muy completa y está muy probada. Hace poco me topé con Just, una alternativa a Lodash, más ligera y modular, que aunque no sea tan completa seguramente nos pueda servir para una gran mayoría de casos.

Es interesante tener en cuenta lo que nos comenta el desarrollador de Just sobre cuándo es mejor usarlo y cuándo no.

Si queremos probar Just, tan solo tenemos que instalar la función que nos interese, importarla y usarla. Vamos a ver algunos ejemplos.

Comparación de objetos

Cuando queremos comparar objetos o arrays en JavaScript no nos sirve usar directamente el operador lógico de comparación, ya que lo que se compara es la referencia al objeto, no el objeto en si. Tenemos que comparar cada una de sus propiedades, lo cual puede llegar a ser una tortura. Con Just, haremos lo siguiente:

npm install just-compare
import compare from "just-compare"

const objeto1 = { a: 1, b: 2 }
const objeto2 = { a: 1, b: 2, c: 3 }
const objeto3 = { a: 1, b: 2 }

compare(objeto1, objeto2) // false
compare(objeto1, objeto3) // true

Unión de objetos

Tenemos dos objetos A y B y queremos otro que contenga todas las propiedades de A además de todas las propiedades de B que no estén en A, podemos hacer esto:

Bashnpm install just-merge

import merge from "just-merge"

const objetoA = { a: 1, b: 2, z: 4 }
const objetoB = { a: "hola", b: "mundo", c: 3 }

merge(objetoA, objetoB)
console.log(objetoA) // {a: 1, b: 2, z: 4, c: 3}

Agrupación de array por característica

Seguro que más de una vez has tenido varios elementos en un array que has querido agrupar de alguna forma. Esto te va a gustar:

npm install just-group-by
npm install just-is-prime
import groupBy from "just-group-by"
import isPrime from "just-is-prime"

// queremos agrupar estos números según si son primos o no
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9]

const numerosAgrupados = groupBy(numeros, isPrime)
console.log(numeros) // {false: [1, 4, 6, 8, 9], true: [2, 3, 5, 7]}

La clave aquí está en definir nuestra función de agrupación, que en este caso hemos aprovechado la función isPrime que también tiene esta librería.

Puedes consultar el listado entero de funciones que podemos usar con Just en la web de su autor, con ejemplos de todas ellas, pudiendo probar nosotros mismos los ejemplos que queramos.

¿Qué te parece? En mi opinión puede ser una muy buena alternativa a Lodash.