How to Copy an Object in JavaScript
Making a deep copy of an object in JavaScript is fairly challenging. Fortunately, there are a few ways to accomplish this without much code.
Posted in these interests:
Making a deep copy of an object in JavaScript is fairly challenging. Fortunately, there are a few ways to accomplish this without much code.
jQuery provides an extend method that enables you to create both shallow and deep copies of an object.
// Shallow copy
var newObj = jQuery.extend({}, oldObj);
// Deep copy
var newObj = jQuery.extend(true, {}, oldObj);
A vanilla JavaScript hack that doesn't require much code involves using the JSON library. You can stringify an object and then immediately parse it like this:
var me = {
name: 'Tyler',
age: 29
};
var me2 = JSON.parse(JSON.stringify(me));
me2.name = 'Joseph';
console.log(me);
console.log(me2);
This is obviously not the intent of this library, but it works apart from copying functions.
This short guide will show you how to pretty print a JSON object in the Chrome Developer Tools console.