Pessoal criei um Array
com a [conta_id, nome e meta]
, gostaria de fazer um filtro somente da conta_id
e nome
, mas não estou conseguindo!
O que estou fazendo de errado?
const gestores = [
{conta_id: 01, nome: "luciano", meta: 1000},
{conta_id: 02 ,nome: "luis", meta: 5000}
]
const id = gestores.filter(function(id,nome){
return id + nome
})
console.log(id)
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);
3 curtidas