DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js馃拪| #30: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

[1, 2, 3].map(num => {
  if (typeof num === "number") return;
  return num * 2;
});
Enter fullscreen mode Exit fullscreen mode
  • A: []
  • B: [null, null, null]
  • C: [undefined, undefined, undefined]
  • D: [ 3 huecos vac铆os ]

Respuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:

  • C: [undefined, undefined, undefined]

El m茅todo map es propio del paradigma de la programaci贸n funcional. Este m茅todo siempre retorna una nuevo arreglo.

En el ejemplo puesto que estamos iterando sobre un arreglo de n煤meros, la condici贸n evaluer谩 true para cada uno de los elementos del arreglo, pero hay 2 sentencias return. JavaScript ignora todo el c贸digo que esta despu茅s del primer return que encuntra. Dicho esto, tendriamos algo as铆:

[1, 2, 3].map(num => {
  if (typeof num === "number") return;
});
Enter fullscreen mode Exit fullscreen mode

Ahora, si bien la condici贸n se evalua a true, el return no devuelve nada, simplemente hace que el c贸digo se salga del map.

Cuando no devolvemos nada en return, map regresa siempre undefined.

Al tener 3 elementos en el arreglo, y recordando siempre que map regresa un nuevo arreglo, obtenemos como resultado final un arreglo de 3 undefined