Хорошо, я переписываю это, потому что люди все время неверно истолковывали его.Замените свойства объекта на свойства объекта
Указанные два объекта x
и y
, я хочу, чтобы заменить все свойства x
с тем из y
.
(Обратите внимание, что это не регулярно Клонирование, как это подразумевает создание нового объекта (z
). Объект x
должен быть обновлен, а не заменить.)
Моя идея заключается в том, что можно было бы сделать это используя две петли for-in
(с проверками hasOwnProperty
), один для удаления всего: от x
и один для копирования всего: от y
до x
, но это как-то похоже на уродливое решение.
Есть ли еще более элегантный способ сделать это? Есть ли в JavaScript (или, возможно, jQuery) встроенная функция для копирования состояния одного объекта в другой объект, который уже существует ?
Посмотрите это - http://stackoverflow.com/questions/122102/most-efficient-way-to-clone-an-object –
@Pushpesh: Я не говорю о создании нового объекта, который является клоном, Я говорю о превращении ** существующего объекта ** в клон. – Smallhacker
Также проверьте шаблон дизайна [Prototype] (http://sourcemaking.com/design_patterns/prototype). – Dan