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

Arrow function no map

Olá, estou com uma dúvida em relação ao arrow function usado no map. Exemplo:

let notas = [10, 6, 7, 4, 9, 10]

const notasAtualizadas = notas.map(nota =>{ nota == 10 ? nota : ++nota })

console.log(notasAtualizadas); // retorna NaN

se eu retiro as chaves da arrow function funciona normal. Ex:

let notas = [10, 6, 7, 4, 9, 10]

const notasAtualizadas = notas.map(nota => nota == 10 ? nota : ++nota )

console.log(notasAtualizadas); // 10, 6, 7, 4, 9, 10

O que está acontecendo?

2 respostas
solução!

Oi Nilton, tudo bem?

Quando você usa as chaves, é necessário utilizar um return, quando você não utiliza, o JS já entende que você quer retornar aquele valor.

Então se você quisesse utilizar as chaves o código precisaria ser assim

let notas = [10, 6, 7, 4, 9, 10];

const notasAtualizadas = notas.map((nota) => {
  return nota == 10 ? nota : ++nota;
});

console.log(notasAtualizadas);

Mas não é uma boa prática utilizar as chaves em uma única linha, seria legal utilizar somente quando você faz mais coisas no map

Entendi, muito obrigado!!