Gibt es eigentlich keinen anderen Weg als eine Schleife, um eine "echte" Kopie zu bauen?
Nein, du musst so oder so die Inhalte kopieren. z.b. so
Das ist doch für ein Array ganz einfach: Es genügt ein
slice(0)
um eine perfekte Kopie zu erzeugen, die man dann beliebig manipulieren kann, ohne das Original-Array zu beeinflussen.
so zeigt auf einen Thread, wo Peter S. eine Lösung mit concat zeigt, was auf selbe rauskommt. Wobei er es dort umständlich gelöst ist:
Array.prototype.copy = function () {
return this.concat();
};
Nur Änderungen an darin enthaltenen Objekten betreffen auch die Originalobjekte, aber nicht das Original-Array.
Das meinte ich mit Inhalte kopieren.
Struppi.