Javascript, Array, Objekte kopieren
bearbeitet von
@@Franz
> Ich habe einen Teil eines assoziativen Arrays an das selbige angehängt (kopiert) und wollte diverse Werte dann ändern. Die gewünschten Werte wurden auch geändert.
> Allerdings die der Quellelemente auch.
Yep.
```js
const a = [0, 0];
const b = a;
b[0] = 1;
console.log(a); // [1, 0]
const A = {foo: 0, bar: 0};
const B = A;
B.foo = 1;
console.log(A); // {foo: 1, bar: 0}
```
> Kennt jemand eine Möglichkeit eine "echte" Kopie von Objekten zu erstellen?
Zwei:
```js
const a = [0, 0];
const b = [...a];
b[0] = 1;
console.log(a); // [0, 0]
const A = {foo: 0, bar: 0};
const B = {...A};
B.foo = 1;
console.log(A); // {foo: 0, bar: 0}
```
```js
const a = [0, 0];
const b = Array.from(a);
b[0] = 1;
console.log(a); // [0, 0]
const A = {foo: 0, bar: 0};
const B = Object.create(A);
B.foo = 1;
console.log(A); // {foo: 0, bar: 0}
```
🖖 Живіть довго і процвітайте
{:@uk}
--
*„Ukončete, prosím, výstup a nástup, dveře se zavírají.“*{:@cs}