domingo, 8 de mayo de 2011

Filtrar un array con jQuery

jQuery tiene la posibilidad de filtrar elementos de un array. Para ello contamos con la función .grep(). Comenzamos con un sencillo ejemplo:

1-Creamos un array con números del 1 al 10.
var a=[1,2,3,4,5,6,7,8,9,10];
Crearemos una función que devuelva true cuando cumpla la condición que queramos aplicar y false cuando no la cumpla. Siguiendo el ejemplo buscaremos los elementos mayores que 5:
function mayorQueCinco(elemento,indice){return (elemento <=5);}
A la función le pasamos dos parametros "elemento" que será el elemento del array evaluado y el "indice" indice del array que ocupa el elemento. Ahora aplicamos el método .grep(). Este método nos devuelve otro array con los elementos que cumplen el filtro. En el siguiente ejemplo reutilizaremos la variable. En cierto modo estaría mas optimizado.
var a=[1,2,3,4,5,6,7,8,9,10];
a= jQuery.grep(a,mayorQueCinco);
Echo esto solo quedaría visualizar la información del nuevo array:
$("#resultado").text(a.join(", "));