Avatar ·

Wie erstelle ich eine Kopie eines Arrays in JavaScript, keine Referenz darauf?

Hallo zusammen! Ich bin neu in JavaScript und habe ein Problem, das ich einfach nicht lösen kann. Wenn ich versuche, ein Array zu kopieren, wirken sich Änderungen im neuen Array auf das Original aus. Hier ist ein Beispiel:\n\n```javascript\nlet original = [1, 2, 3];\nlet copy = original;\ncopy.push(4);\nconsole.log(original); // [1, 2, 3, 4] — ich möchte nicht, dass original sich ändert!\n```\n\nIch verstehe, dass `copy = original` keine Kopie erstellt, sondern eine Referenz auf dasselbe Array. Aber wie kann ich erreichen, dass `copy` völlig unabhängig ist? Ich habe `copy = original.slice()` ausprobiert, und das hat bei einfachen Zahlen funktioniert. Aber wenn ich verschachtelte Arrays oder Objekte habe, betreffen Änderungen trotzdem das Original:\n\n```javascript\nlet nested = [[1, 2], [3, 4]];\nlet copyNested = nested.slice();\ncopyNested[0].push(5);\nconsole.log(nested[0]); // [1, 2, 5]\n```