Verstehen des Verhaltens der Karte auf Arrays, die mit new Array(count) erstellt wurden
Bei der Arbeit mit JavaScript-Arrays ist ein eigenartiges Verhalten zu beachten wird durch Arrays angezeigt, die mit der Syntax new Array(count) erstellt wurden.
Wie im folgenden Codeausschnitt gezeigt, Der Aufruf von map() für ein spärliches Array (ein Array mit undefinierten Elementen), das mit new Array(count) erstellt wurde, ergibt ein Array undefinierter Werte:
var x = new Array(3); x.map(function() { return 0; }); // [undefined, undefined, undefined]
Im Gegensatz dazu führt das Ausführen derselben Operation für ein dichtes Array ( ein Array ohne undefinierte Elemente) derselben Länge funktioniert wie erwartet:
var y = [undefined, undefined, undefined]; y.map(function() { return 0; }); // [0, 0, 0]
Diese Unterscheidung ergibt sich aus der Tatsache, dass new Array(count) ein spärliches Array erstellt, d. h Es weist seinen Elementen keine Standardwerte zu. Folglich kann map() keine Operationen an den undefinierten Elementen ausführen, was zu einem Array undefinierter Werte führt.
Um dieses Problem zu lösen, können Sie entweder eine Literal-Array-Syntax verwenden, um ein dichtes Array zu erstellen, oder das Array explizit füllen Sparse-Array mit gewünschten Standardwerten mithilfe von Methoden wie Array.prototype.fill().
Das obige ist der detaillierte Inhalt vonWarum gibt „map()' undefinierte Werte für Arrays zurück, die mit „new Array(count)' erstellt wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!