UnderscoreJs

De Dos Ideas.
Saltar a: navegación, buscar

Underscore

UnderscoreJs es una librería javascript bastante simple de usar que nos provee de metodos y funciones para manipular: arreglos, colecciones, funciones y objetos en javascript. El prefijo usado para usar sus funciones es "_".

Algunas de las funciones

Filter

Es una funcion que obtiene determinados objetos dentro un array.

Ejemplo:

De un array que contiene objetos personas quiero obtener las que contengan el apellido "Perez", para eso vamos a usar la funcion filter. Esta última recibe como parametro el array que contiene los elementos en el cual queremos realizar la busqueda, y como segundo parametro un callback que realiza una iteracion por cada elemento del array. Si el callback retorna un valor verdadero, el elemento del array original es duplicado en un array auxiliar. Una vez que la iteracion termine la funcion filter retorna el array auxiliar con los resultados de la busqueda.

var personas = [ { nombre: "Juan", apellido: "Perez" }, { nombre: "Javier", apellido: "Perez" }, { nombre: "Ernesto", apellido: "De la Serna" } ];

_.filter(personas, function (persona) {

   return persona.apellido === "Perez";

});

El array devuelto es: [

   {
      nombre: "Juan",
      apellido: "Perez"
   },
   {
      nombre: "Javier",
      apellido: "Perez"
   }

]

Uniq

Es una función que elimina duplicados de un array.

Ejemplo:

var names = ['Juan', 'Javier', 'Ernesto', 'Ernesto']; _.uniq(names);

El resultado es [ "Juan", "Javier", "Ernesto" ]


Reduce

Esta funcion realiza una suma de los valores que contienen los atributos que nosotros definamos para cierto array.

Ejemplo:

Tenemos una array de personas, cada una tiene un nombre y una edad. Lo que queremos hacer es sumar las edades de todas las personas dentro del array.

var personas = [ { nombre: "Juan", edad: 30 }, { nombre: "Javier", edad: 20 }, { nombre: "Ernesto", edad: 50 } ];

Enviamos como parametro el array de personas, un callback que recibe el resultado de la suma y el elemento del array, y como otro parametro el valor inicial de la suma, en este caso será 0.

_.reduce(personas, function (resultado, persona) {

   return resultado + persona.edad;

}, 0);

Esto retorna el valor 100.

Links

Estas y muchas otras funciones las pueden encontrar en la pagina oficial de UnderscoreJs.