Executando verificação de segurança...
-1
zDnA
1 min de leitura ·

Duvida - Array/API - Javascript

Pessoal, boa tarde!

Estou com uma duvida referente a um trabalho que estou executando.
Estou fazendo o consumo de uma API, porém como ela retorna diversos arrays em sua maioria sempre com as mesmas nomenclaturas, porém existem alguns retornos em que ele não retorna determinada classe de dentro do array que preciso consumir, exemplo:

Pessoa0 = {
nome = "daniel"
idade = "45"
sexo = "M"
}
Pessoa1 = {
nome = "barbara"
sexo = "F"
}
No cenário de exemplo acima a idade não foi retornada em todos os arrays, logo precisaria ser criado uma condional para não gerar o erro no código e ele consumir todo o conteudo, porém tentei fazer a condional e mesmo assim o programa continua apresentando erro.

var idade = Pessoa[i].idade
if(pessoa[i].idade != undefined){
exec codigo
}
else{
pular codigo
}

porem essa condicional não funcionaria tendo em vista que a chave "idade" não existe, logo surgiu essa duvida de como poderia criar essa condicional.

Se alguem puder me ajudar ficaria grato, desde já obrigado.

Carregando publicação patrocinada...
1

Boa tarde, zDnA. Tente desta forma:

let arrayPessoas = [ 
  Pessoa0 = {
      nome: "daniel",
      idade: "45",
      sexo: "M"
    },
  Pessoa1 = {
    nome: "barbara",
    sexo: "F"
  }
];

for(let i = 0; i < arrayPessoas.length; i++) {
  let nome = arrayPessoas[i].nome;
  
  // aqui você usa o operador nullish (??)
  // Leia mais aqui: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
  
  let idade = arrayPessoas[i].idade ?? 'Idade não informada';
  
  // verifica se a a idade é maior que 18, e então deixa entrar.

  if(idade > 18) { 
    console.log(`${nome} tem ${idade} anos e pode entrar!`) 
  } else {
    console.log(`${nome} tem ${idade} anos e não pode entrar!`) 
   }
}

... E claro, a partir daqui a lógica fica a seu critério, é apenas um exemplo.

1
1

Nesse caso o ideal é voce validar se a propriedade existe. Pra isso, vc pode usar o Object do JS.

    Object.keys(pessoa).includes('idade')

O primeiro método retorna um array com todas as chaves do objeto. Em seguida o include verifica se a string idade está no array, se estiver retorna true, caso contrário, retorna false.

Espero ter ajudado :)

1