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
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!