Ich versuche, eine 6 x 12 Matrix Array.fill
Array.fill (Array) erstellt Kopien von Artikeln nicht von Wert
let m = Array(6).fill(Array(12).fill(0));
mit erstellen Während dies funktioniert, ist das Problem, dass die inneren Arrays sind eigentlich alle referenziert das gleiche Array
Objekt.
let m = Array(6).fill(Array(12).fill(0));
m[0][0] = 1;
console.log(m[1][0]); // Outputs 1 instead of 0
wollte ich (und erwartete) den Wert von m[1][0]
0
zu sein.
Wie kann ich forcieren copy-by-Werte des angegebenen Arguments (zB: Array(12).fill(0)
ist das Argument in meinem Fall) anstelle des Kopierens durch Referenz?
Sie nicht 'Array.fill()' etwas anderes zu tun, zwingen kann, als das, was es schon tut. Sie können natürlich Ihre eigene Funktion schreiben. – Pointy
@Pointy Sie haben Recht, ein zweiter Parameter für "Deep-Copy" wäre nützlich :) – Cristy
Es könnte schön sein, eine Generator-Funktion irgendeiner Art zu übergeben. –