Clonar objetos y arrays en JavaScript

30.04.19

Para la clonación de objetos en JS no hay un método proporcionado especialmente. Puedes copiar un objeto de diferentes maneras. Como los objetos se pasan por referencia, no podemos clonar simplemente asignando un valor a una variable.

Objetos

Con Spread

let originalObject = {a: 1};
let clone = {...originalObject};

Con Object.assign()

let originalObject = {a: 1};
let clone = Object.assign({}, originalObject);

Con un bucle

let clone = {};
 
for (let key in originalObject) {
  clone[key] = originalObject[key];
}

Con jQuery

let clone = jQuery.extend(true, {}, originalObject);

Con JSON object

let clone = JSON.parse(JSON.stringify(originalObject));

Arrays

Con Spread

let clone = [...originalArray];

Con Slice

let clone = originalArray.slice();
blog comments powered by Disqus