Esta llamada
[0].map(Array);
le da el mismo resultado que si escribiera algo como esto:
[0].map(function (value, index, array) {
return Array(value, index, array);
})
La función de mapa llama a la función Array con tres parámetros: valor del elemento, índice del elemento y matriz completa. Esta llamada a Arraydevuelve su matriz con 3 elementos: valor (número 0), índice (número 0), matriz completa ( [0]).
Y esta nueva matriz está envuelta en la matriz original, porque asignó el elemento original (número 0) al nuevo elemento (matriz de 3 elementos)
Nota: Es posible que esté acostumbrado a usar solo el primer parámetro como en
array.map(function (a) { return a * a; });
o usando solo dos para obtener también el índice
array.map(function (item, index) { return "index=" + index + ", value=" + item; });
Pero debe recordar que mapaún proporciona 3 parámetros, simplemente ignórelos en su función de devolución de llamada. Esa también es la razón por la que un código como:
[0].map(String);
devoluciones
["0"]
Es porque la función String se preocupa solo por el primer parámetro e ignora otros parámetros pasados. Si llamas
String(11, "Some", "other", "ignored", "parameters")
todavía obtendrás
"11"