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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'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.

1
2
3
4
5
6
7
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.

1
2
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.

1
2
3
4
5
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.

1
2
3
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.

1
2
3
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.

1
2
3
4
5
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
×

Utilizamos cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información