если вы хотите использовать однострочник (удаляет ссылки на объекты путем итерации по ссылочным объектам для извлечения примитивов, объединяет одну большую строку, а затем анализирует строку в новый объект со своими собственными примитивными конечными узлами)
JSON.parse(JSON.stringify(obj))
или если вам нужно выполнить много копий
function deepCopy(o) {
var copy = o,k;
if (o && typeof o === 'object') {
copy = Object.prototype.toString.call(o) === '[object Array]' ? [] : {};
for (k in o) {
copy[k] = deepCopy(o[k]);
}
}
return copy;
}
сравнение производительности