Dieser Anruf
[0].map(Array);
gibt Ihnen das gleiche Ergebnis, als ob Sie so etwas geschrieben hätten:
[0].map(function (value, index, array) {
return Array(value, index, array);
})
Die Map- Funktion ruft die Array- Funktion mit drei Parametern auf: Wert des Elements, Index des Elements und gesamtes Array. Dieser Aufruf Arraygibt Ihnen ein Array mit 3 Elementen zurück: Wert (Nummer 0), Index (Nummer 0), ganzes Array ( [0]).
Und dieses neue Array wird in das ursprüngliche Array eingeschlossen, da Sie das ursprüngliche Element (Nummer 0) einem neuen Element (Array mit 3 Elementen) zugeordnet haben.
Hinweis: Möglicherweise sind Sie es gewohnt, nur den ersten Parameter wie in zu verwenden
array.map(function (a) { return a * a; });
oder verwenden Sie nur zwei, um auch Index zu erhalten
array.map(function (item, index) { return "index=" + index + ", value=" + item; });
Sie müssen sich jedoch daran erinnern, dass es mapimmer noch 3 Parameter gibt, die Sie in Ihrer Rückruffunktion einfach ignorieren. Das ist auch der Grund, warum Code wie:
[0].map(String);
kehrt zurück
["0"]
Es ist weil String Funktion nur um den ersten Parameter kümmert und andere übergebene Parameter ignoriert. Wenn Sie anrufen
String(11, "Some", "other", "ignored", "parameters")
du wirst immer noch bekommen
"11"