Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   копировать объект (https://javascript.ru/forum/misc/53685-kopirovat-obekt.html)

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, то надо рекурсивно бежать по объекту и класть его ключи в новый объект.


Часовой пояс GMT +3, время: 14:26.