Как глубоко клонировать объект? Он содержит только примитивные типы, включая объекты и массивы. Сейчас делаю JSON.parse(JSON.stringify(data))
, но это долго
Если у кого-нибудь есть идеи, пишите, всё ещё думаю.
Временно написал такой велик
function cloneObj(obj) {
if (typeof obj != 'object') {
throw new Error('1 arg is not object');
}
var tmp = obj instanceof Array ? [] : {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] == 'object') {
tmp[key] = cloneObj(obj[key]);
} else {
tmp[key] = obj[key];
}
}
}
return tmp;
}