Heim > Web-Frontend > js-Tutorial > Warum gibt „map()' undefinierte Werte für Arrays zurück, die mit „new Array(count)' erstellt wurden?

Warum gibt „map()' undefinierte Werte für Arrays zurück, die mit „new Array(count)' erstellt wurden?

Patricia Arquette
Freigeben: 2024-12-07 07:00:12
Original
765 Leute haben es durchsucht

Why Does `map()` Return Undefined Values on Arrays Created with `new Array(count)`?

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage