Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não consigo retornar null dentro do forEach

Bom dia,

Preciso retornar null dentro de uma condição em um forEach, mas não consigo.

this.equipamentos.forEach((equip) => {
  if (equip.nome == equipamento.nome && dataInicial < equip.dataPrimeiroPulso) {
    this.showDialog(`Não foi possível gerar o relatório. O equipamento possui pulsos a partir do dia ${equip.dataPrimeiroPulso}.`);
    return null;
  }
});

Na execução desse código, a condição do if é atendida, mas o return null é ignorado.

Alguém sabe me dizer o porquê?

Obrigado!

3 respostas
solução!

Fala Renan, tudo bem? Espero que sim!

O que acontece é que o método forEach não possui um retorno, não é possivel retornarmos algo dele, poderia informar o contexto para que eu possa te apresentar alguma solução? Uma outra alternativa seria o método map que nos retorna um array de retornos do método, vale a pena dar uma olhada e ver se supre o seu caso. Por exemplo:

const test = [1, 2, 3, 4].map(() => {
    return null
})

console.log(test) //[null, null, null, null]

Aguardo o retorno!

Boa Matheus!

Eu vi isso sobre o forEach mesmo.

A minha solução foi criar uma variavel booleana, aí eu passo true pra ela se a condição do if for verdadeira. Porque esse forEach ta dentro de uma função, que eu preciso sair dela caso algumas condições não sejam atendidas, por isso eu queria dar um return null dentro do forEach.

Obrigado!!

Muito bom! Ótima solução, parabéns!

Qualquer dúvida pode contar com a gente aqui no fórum, ta bom?

Abraços e bons estudos :D