No solo se requiere que un desarrollador complete las tareas, sino que también es necesario realizar las tareas de una manera más eficiente. Hay varias bibliotecas disponibles en JavaScript en la actualidad que facilitan el trabajo con variables para los desarrolladores. Aprenderemos cómo utilizar las funciones más comunes de la biblioteca Lodash en este tutorial.
Si aún no has probado Lodash, ahora es el momento. Lodash es un paquete de utilidad JavaScript contemporáneo que simplifica el trabajo con matrices, enteros, objetos, textos y otros tipos de datos.
Le ayudará a manejar varios tipos de objetos y le ahorrará tiempo al eliminar la necesidad de codificar métodos genéricos. Su código será más limpio con menos líneas y funcionará en todos los navegadores. Si aún no lo está utilizando, debe considerarlo cuidadosamente.
No adoptar Lodash es una gran pérdida para nuestras bases de código de JavaScript. Es una solución elegante y libre de errores para los desafíos comunes que tenemos en el trabajo, y su uso solo hará que nuestro código sea más legible y manejable.
Profundicemos en algunas de las funciones de Lodash más populares (¡o no!) y descubramos cuán extremadamente útil y hermosa es esta biblioteca.
1. _.sortedUniq
Todos los valores duplicados no se devolverán con este. Debido a que es solo para matrices ordenadas, esto se utiliza principalmente por razones de velocidad. Esto solo es útil si se trata de una matriz grande. Si desea mejorar la velocidad, ordene su arreglo y use métodos que funcionen mejor con arreglos ordenados.
Lodash tiene otras funciones similares a esta. Puede consultar .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy, .sortedUniqBy.
2. _.reducir
_.reduce es similar a una función de filtro. La única diferencia es que tiene la opción de seleccionar la forma del objeto devuelto. Es normal, si no comprendes lo que te digo; hay un ejemplo para ello.
En esencia, devolvemos un nuevo objeto que contiene usuarios clasificados por edad, pero solo para aquellos de 18 a 59 años. Esta función auxiliar de Lodash es una de las más utilizadas. También está incluido en ES6. También me gustaría señalar dos errores típicos: recuerde devolver el resultado al final de la función y proporcione el valor predeterminado para el resultado como el tercer parámetro (aquí).
3. _.obtener y ._establecer
Para este, lo engañaré un poco mostrándole dos funciones que realizan casi lo mismo. _.get devuelve un valor de propiedad de un objeto, y _.set, bueno, lo adivinó, establece una propiedad con un valor. Nada único, excepto que puede acceder a una propiedad a través de su camino.
Veamos un ejemplo.
Si la ruta no existe al llamar a _.set, se generará. No habrá más errores de "No se puede establecer la propiedad 'elementos' de indefinidos". Si la ruta no existe, _.get devolverá undefined en lugar de un error. Si la ruta se resuelve como indefinida, también puede proporcionar un valor predeterminado (tercer parámetro).
4. _.encontrar
En lugar de recorrer una matriz para encontrar un solo objeto, podemos usar _.find. Eso es bueno, pero no es lo único que _.find puede hacer. Con una sola línea de código, también puede descubrir un objeto utilizando numerosas propiedades. ¡Echale un vistazo!
5. _.keyPor
Uno de mis favoritos es _.keyBy. Es bastante útil cuando se intenta obtener un objeto con un atributo determinado. Supongamos que tenemos 100 entradas de blog y queremos tomar la que tiene la identificación "34abc". ¿Como vamos a hacerlo? ¡Veamos qué pasa! Este método puede ayudarlo a organizar una colección de objetos si un servidor la proporciona como una matriz. También se puede utilizar una función como segundo argumento.
6. _.paraCada
Este método iterará sobre una matriz de objetos uno por uno, lo que le permitirá hacer la lógica que desee. En este primer ejemplo, recorreré una lista de objetos de usuario, fusionando sus nombres y apellidos para crear una nueva propiedad llamada fullName.
forEach de estos acepta dos parámetros. La matriz que estamos recorriendo es el primer parámetro. El segundo argumento es una función de iteración, siendo el primer parámetro la referencia del elemento individual y el segundo el índice actual de la iteración.
7. _.mapa
Map, como forEach, itera a través de una matriz de valores. La función de mapa, por otro lado, devuelve una nueva matriz de valores proporcionados por la función de iteración. Estamos utilizando la misma colección de usuarios que en nuestro ejemplo forEach aquí. Podemos usar _.map para generar una nueva variable que tenga una matriz plana de todos los nombres completos de los usuarios.
8. _.diferencia
La función de diferencia producirá una nueva matriz de valores que difieren entre la primera y la segunda matriz. Es vital tener en cuenta que las ubicaciones de los argumentos afectan los resultados.
9. _.obtener
La función _.get() puede ayudarnos a ubicar un elemento dentro de un objeto. Podemos establecer un valor predeterminado para que la función _.get() regrese si no se encuentra un elemento en la ruta proporcionada. La función _.get() toma tres parámetros, el primero de los cuales es el objeto del que queremos obtener un elemento. El camino es el segundo. El tercer valor es el valor predeterminado que queremos devolver si no se puede localizar un elemento.
10. _.encontrar
La función _find() puede parecer idéntica al método _.get(). La función _.find(), como el método _.get(), acepta tres parámetros. Sin embargo, a diferencia del método _.get(), el primer argumento puede ser una matriz o un objeto. El segundo argumento especifica la función que se llamará en cada iteración. La tercera entrada es el índice inicial de la colección. Porque la función _.find() itera sobre cada elemento de una colección.
11. _.grupoPor
Cree un objeto nombrado por el resultado de una función (o un nombre de propiedad seleccionado al azar), siendo cada valor una matriz de objetos con la misma clave.
12. _.conjunto
El método _.set() es el inverso del método _.get(). Cambiará el valor de un elemento en una ruta dada. El objeto o matriz es el primer parámetro, la ruta es el segundo y el valor que desea establecer es el tercero.
13. _.combinar
Funciona de manera similar a Object.assign, excepto que recurre profundamente en la estructura subyacente para actualizar los objetos más profundos en lugar de reemplazarlos.
14. ._desbarbar
Este es un ejemplo bastante sencillo. Se eliminan todas las "marcas diacríticas combinadas". Así “é” se convierte en “e”. Cuando hay internacionalización y localización, es una buena práctica desbarbar el texto para las funciones de búsqueda.
15. _.rebote
Esta es una de las estrategias Lodash más efectivas. También puede ser difícil comprender lo que hace y cuándo debe usarlo. El método _.debounce() devuelve una función. La función del método _.debounce() retrasará la invocación hasta que haya pasado un número específico de milisegundos desde la última vez que se invocó la función.
Conclusión
Lodash es una poderosa extensión del lenguaje JavaScript. Con un mínimo esfuerzo, uno puede construir un código sucinto y eficiente. Lodash también es completamente modular. Si bien algunas de sus funcionalidades pueden quedar obsoletas en última instancia, creo que aún brindará numerosos beneficios a los desarrolladores al mismo tiempo que impulsará la evolución del lenguaje JS.
Espero que estas pocas capacidades de Lodash lo ayuden a ver cuán poderoso puede ser Lodash cuando trabaja con arreglos, objetos y colecciones. Puede visitar el documentación para explorar una plétora de otras opciones que tiene para ofrecer.
Deje un comentario