Lodash.js y sus funciones de filtrado

Lodash.js y sus funciones de filtrado
Sin comentarios Facebook Twitter Flipboard E-mail

Lodash.js es una de las librerías de referencia en JavaScript a la hora de trabajar con colecciones de objetos. Lodash fue en su momento un fork de Underscore.js pero con el paso del tiempo se ha rediseñado por completo y añadido mayor funcionalidad. Vamos a abordar en este artículo las funciones de filtrado. Para ello partimos de una colección de personas que tienen nombre y edad.

'use strict'

var _ = require('lodash');
var personas = [{
        nombre: "pepe",
        edad: 20
    },

    {
        nombre: "ana",
        edad: 30
    }, {
        nombre: "pedro",
        edad: 40
    }, {
        nombre: "gema",
        edad: 50
    }, {
        nombre: "andres",
        edad: 50
    }

];

filter :La primera operación que vamos a realizar es la de filtrado que recordemos esta también soportada en ES5. En este caso vamos a quedarnos con las personas cuya edad es de 50 años.

var filtro=_.filter(personas,function(persona) {

    return persona.edad===50;

});

console.log(filtro);
Lodashfilter

where: Esta función se encarga de realizar un filtrado pero en este caso le pasamos como parámetros las condiciones que un objeto tiene que cumplir para encajar en la búsqueda.

var busqueda=_.where(personas, {nombre:"andres",edad:50});
console.log(busqueda);
Lodashwhere

find:Como su nombre indica esta función se encarga de localizar un objeto dentro de una colección. Solo devuelve el primero que localiza.

var primerMayor= _.find(personas,function(persona) {

    return persona.edad>18;

}); 

Lodashfind

findWhere :Similar a la anterior en este caso se trata de buscar el primer objeto que cumpla con las condiciones de los parámetros de búsqueda.

var busquedaUno=_.findWhere(personas, {edad:50});

console.log(busquedaUno);
Lodashfindwhere

pluck :Nos permite filtrar pero de una forma diferente a la habitual.Pluck se encarga de filtrar por columna y quedarnos con una columna concreta del array, en este caso las edades.

var edades=_.pluck(personas,'edad');

console.log(edades);
Pluck

reduce:Para entender bien para que sirve pluck es bueno apoyarse en la función reduce que se encarga de reducir un array a un único elemento aplicando una operación. En este caso aplicamos reduce al array de edades. Las sumamos todas y partimos por la longitud del array para obtener la media.

var total= edades.reduce(function(total,item) {

    return total+item;
});
console.log(total/edades.length);

Media

Lodash incluye muchas otras funciones , hemos abordado las principales orientadas a filtrado.

Comentarios cerrados
Inicio