Explica este código JavaScript
[1, 2, 3].map(num => {
if (typeof num === "number") return;
return num * 2;
});
- A:
[]
- B:
[null, null, null]
- C:
[undefined, undefined, undefined]
- D:
[ 3 huecos vacíos ]
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
[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 sentenciasreturn
. JavaScript ignora todo el código que esta después del primerreturn
que encuntra. Dicho esto, tendriamos algo así:Ahora, si bien la condición se evalua a
true
, elreturn
no devuelve nada, simplemente hace que el código se salga delmap
.Cuando no devolvemos nada en
return
,map
regresa siempreundefined
.Al tener 3 elementos en el arreglo, y recordando siempre que
map
regresa un nuevo arreglo, obtenemos como resultado final un arreglo de 3undefined