Solucao aceita
wldomiciano 3 likes
A função filter serve pra retornar elementos especifico do array de acordo com uma certa condição.
A forma correta de usá-la é assim:
const gestores = [
{conta_id: 01, nome: 'luciano', meta: 1000 },
{conta_id: 02 ,nome: 'luis', meta: 5000 },
{conta_id: 03 ,nome: 'pedro', meta: 2000 },
{conta_id: 04 ,nome: 'paulo', meta: 3000 }
];
let metaMaiorQue2Mil = gestores.filter( function(gestor, index, gestores) {
// O primeiro parametro representa o elemento atual
// O segundo é o indice desse objeto
// O terceiro é o array do qual ele faz parte
// O retorno sempre tem que ser true ou false
return gestor.meta > 2000;
} );
// forma resumida
metaMaiorQue2Mil = gestores.filter((gestor, index, gestores) => gestor.meta > 2000);
// mais resumido ainda ('e' de elemento)
metaMaiorQue2Mil = gestores.filter(e => e.meta > 2000);
// mostra apenas luis e paulo
console.table(metaMaiorQue2Mil);
O que vc quer é retornar uma string com conta_id + nome, né? Vc precisa da função map pra isso. Ficaria assim:
const x = gestores.map(e => e.conta_id + ' / ' + e.nome);
console.table(x);