Gunnar Bittersmann: Javascript, Array, Objekte kopieren

Beitrag lesen

@@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.

const a = [0, 0];
const b = a;
b[0] = 1;
console.log(a); // [1, 0]
console.log(b); // [1, 0]


const A = {foo: 0, bar: 0};
const B = A;
B.foo = 1;
console.log(A); // {foo: 1, bar: 0}
console.log(B); // {foo: 1, bar: 0}

Kennt jemand eine Möglichkeit eine "echte" Kopie von Objekten zu erstellen?

Zwei:

const a = [0, 0];
const b = [...a];
b[0] = 1;
console.log(a); // [0, 0]
console.log(b); // [1, 0]

const A = {foo: 0, bar: 0};
const B = {...A};
B.foo = 1;
console.log(A); // {foo: 0, bar: 0}
console.log(B); // {foo: 1, bar: 0}
const a = [0, 0];
const b = Array.from(a);
b[0] = 1;
console.log(a); // [0, 0]
console.log(b); // [1, 0]

const A = {foo: 0, bar: 0};
const B = Object.create(A);
B.foo = 1;
console.log(A); // {foo: 0, bar: 0}
console.log(B); // {foo: 1, bar: 0}

🖖 Живіть довго і процвітайте

--
„Ukončete, prosím, výstup a nástup, dveře se zavírají.“