Heim > Web-Frontend > js-Tutorial > Warum erstellt Array.fill() gemeinsame Referenzen in zweidimensionalen Arrays?

Warum erstellt Array.fill() gemeinsame Referenzen in zweidimensionalen Arrays?

Susan Sarandon
Freigeben: 2024-12-03 11:18:09
Original
992 Leute haben es durchsucht

Why Does Array.fill() Create Shared References in Two-Dimensional Arrays?

Array.fill() kopiert Referenzen, keine Werte

Beim Versuch, eine zweidimensionale Matrix mit Array.fill() zu initialisieren, Möglicherweise tritt ein Problem auf, bei dem die inneren Arrays Referenzen gemeinsam nutzen, was zu unerwarteten Ergebnissen führt.

Um dieses Problem zu beheben, können Sie Folgendes verwenden: Array.from():

let m = Array.from({length: 6}, () => Array(12).fill(0));

m[0][0] = 1;
console.log(m[0][0]); // Outputs 1, as expected
console.log(m[1][0]); // Outputs 0, as intended
Nach dem Login kopieren

Dieser Ansatz erstellt innere Arrays, die nach Wert kopiert werden, um sicherzustellen, dass Änderungen an einem Array keine Auswirkungen auf die anderen haben. Jedes innere Array ist ein eigenständiges Objekt und bietet die gewünschte Unabhängigkeit.

Das obige ist der detaillierte Inhalt vonWarum erstellt Array.fill() gemeinsame Referenzen in zweidimensionalen Arrays?. 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