Вход

Просмотр полной версии : копировать объект


Georrg
13.02.2015, 14:55
Добрый день. Хочу копировать объект(не клонировать, а копировать). В дальнейшем первоначальный объект будет изменен, и в завершении планируется сверить эти два объекта, исходный и измененный. Как правильно копировать объект? именно синтаксис. :haha:

Georrg
13.02.2015, 15:39
нашел метод slice, но он подходит только при копировании объектов, а не массивов. как быть?)

tsigel
13.02.2015, 16:09
Georrg,
Объекты в js передаются по ссылке, и нет готового метода, который бы вам выдал копию объекта. Есть библиотеки в которых есть такие методы.

Если надо сделать копию JSON валидного объекта, то все просто:


var test = {"a": 1, "b": 2};
var b = JSON.parse(JSON.stringify(test));
alert(test==b);


Если же объект не JSON, то надо рекурсивно бежать по объекту и класть его ключи в новый объект.