3
I have an array of objects where sometimes a property can come null
.
I need to apply a filter to this array to capture objects that have the field and functionality that are passed by a string
in a directive on my front-end.
The string is passed as follows: campo#funcionalidade
, but if the field is null
, the string will be #funcionalidade
.
I am unable to make the filter correctly so that the object is returned when the field is null or the string field der match.
Below is an example of the code:
const funcionalidades = [
{
"campo": null,
"funcionalidadeNome":"configuracoes.cadastrocliente",
"descricao":"Aqui é preenchido os dados básicos do cliente"
},
{
"campo":"cnpj",
"funcionalidadeNome":"configuracoes.cadastrocliente",
"descricao":"CNPJ do cliente"
},
{
"campo":"codigo",
"funcionalidadeNome":"configuracoes.cadastrocliente",
"descricao":"Código do cliente"
},
{
"campo":"nome",
"funcionalidadeNome":"configuracoes.cadastrocliente",
"descricao":"Nome Fanstasia"
},
{
"campo":"razaosocial",
"funcionalidadeNome":"configuracoes.cadastrocliente",
"descricao":"Razão Social"
}
];
const aaa = (arr, teste) => {
const [ campo, funcionalidade] = teste.split('#')
console.log(`CAMPO: ${campo}, FUNCIONALIDADE: ${funcionalidade}`)
return arr
.filter(item => item.funcionalidadeNome === funcionalidade)
.find(item => item.campo === campo)
}
console.log(aaa(funcionalidades, 'codigo#configuracoes.cadastrocliente'));
console.log(aaa(funcionalidades, 'cnpj#configuracoes.cadastrocliente'));
console.log(aaa(funcionalidades, '#configuracoes.cadastrocliente'));
undefined
is different fromnull
javascript– JMSlasher