


Warum erstellt Array.fill(Array) Kopien per Referenz in JavaScript und wie kann dies vermieden werden?
Nov 28, 2024 pm 03:38 PMArray.fill(Array) Erstellt Kopien per Referenz in JavaScript
Array.fill() ist eine nützliche Methode zum Füllen eines Arrays mit einem bestimmten Wert. Wenn es jedoch zum Erstellen von Arrays innerhalb von Arrays verwendet wird, entsteht ein Referenzierungsproblem.
Betrachten Sie das folgende Beispiel:
let m = Array(6).fill(Array(12).fill(0));
Dieser Code versucht, eine 6x12-Matrix zu erstellen, in der jedes Element 0 ist . Die inneren Arrays verweisen jedoch alle auf dasselbe Array-Objekt.
Zu veranschaulichen:
m[0][0] = 1; console.log(m[1][0]); // Outputs 1 instead of 0
Anstelle von 0 gibt der obige Code 1 aus, da sich Änderungen an einem Element auf alle anderen Elemente auswirken, die auf dasselbe Array-Objekt verweisen.
Eine Lösung zum Erstellen von Kopien nach Wert ist um stattdessen Array.from() zu verwenden:
let m = Array.from({length: 6}, e => Array(12).fill(0));
Diese Syntax erstellt ein neues Array für jedes Element im äußeren Array, was zu einer echten Kopie nach Wert führt Verhalten.
Das obige ist der detaillierte Inhalt vonWarum erstellt Array.fill(Array) Kopien per Referenz in JavaScript und wie kann dies vermieden werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial

8 atemberaubende JQuery -Seiten -Layout -Plugins

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

10 JavaScript & JQuery MVC -Tutorials
