Verwirrt durch das Verhalten von `map` auf Arrays, die mit` new` [duplicate] @ erstellt wurd
Diese Frage hat hier bereits eine Antwort:
Undefinierte Werte in Array (len) initializer 5 Antworten Ich bin durch die Ergebnisse von @ verwirmap
ping über ein mit @ erstelltes Arrnew
:
function returnsFourteen() {
return 14;
}
var a = new Array(4);
> [undefined x 4] in Chrome, [, , , ,] in Firefox
a.map(returnsFourteen);
> [undefined x 4] in Chrome, [, , , ,] in Firefox
var b = [undefined, undefined, undefined, undefined];
> [undefined, undefined, undefined, undefined]
b.map(returnsFourteen);
> [14, 14, 14, 14]
Ich erwartetea.map(returnsFourteen)
zurückgeben[14, 14, 14, 14]
(das Gleiche wieb.map(returnsFourteen)
, weil nach demMDN-Seite in Arrays:
Wenn das einzige Argument, das an den Array-Konstruktor übergeben wird, eine Ganzzahl zwischen 0 und 2 ** 32-1 (einschließlich) ist, wird ein neues JavaScript-Array mit dieser Anzahl von Elementen erstellt.
Ich interpretiere das so, dassa
sollte 4 Elemente haben.
Was fehle ich hier?