Una de las tareas cotidianas del programador es el siguiente escenario tener un arreglo de objetos y tenemos que filtrar algunos objetos de ese arreglo.

Para poder llevar acabo este tutorial tendremos que resolver el siguiente problema es descrito de esta manera:

Se tiene un arreglo de cuentas bancarias, las cuentan tienen los siguientes atributos: id, numCuenta, saldo. Se requiere una pagina para poder filtrar la información y escribir reglas.

CEO Ajal Technology

Vamos a tener un método que se llamará pintarTabla el cual recibe un arreglo y lo pinta en una tabla. Este método lo tendrán en el código de ejemplo pero no es relevante, si tienen dudas pueden preguntarme en @abrahamstalin o les compartiré un tutorial explicando la funcionalidad.

filter

El método para filtrar una lista es «filter» y vamos a crear tres funciones la cuales describo a continuación:

  • Obtener todos las cuentas que tienen un saldo de 500 pesos
  • Obtener todos las cuentas con un saldo mayor a 500 pesos
  • Obtener todos las cuentas con un saldo menor a 500 pesos

Código Fuente

let MonitorCuentas ={
  getIguales:function(){
    return this.cuentas.filter((e)=>{
      return e.saldo == 500
    });
  },
  getMayores:function(){
    return this.cuentas.filter((e)=>{
      return e.saldo > 500
    });
  },
  getMenores:function(){
    return this.cuentas.filter((e)=>{
      return e.saldo < 500
    });
  }
}

¿Como funciona filter?, como dijimos anteriormente filter nos sirve para filtrar la información de un arreglo, es decir que cuando hacemos un llamado al método filter de un arreglo, este nos devuelve un nuevo arreglo solo con los registros que cumplen con nuestra función callback que le pasamos como parámetro.

Es por ello que para obtener las cuentas con montos menores a 500 le enviamos de parámetro esta funciona «(cuenta)=>{ return cuenta.saldo < 500}» con esto le estamos diciendo que recorra todo el arreglo y solo nos traiga las cuentas con menos de 500 en el atributo saldo. Si algún elemento es nulo o indefinido simplemente lo salta y no lo toma en cuenta.

El ejemplo completo lo podemos obtener de: https://codepen.io/abrahamstalin/pen/mddvMJa

Y recuerda seguirme en @abrahamstalin para que aprendas mas trucos de programación.

Última modificación: 19 noviembre, 2019

Autor