Я хочу создать новый объект, присвоить его свойству некоторые значения из другого объекта, и я хочу «связать» его - как передача по ссылке в C ++.
Так в этом примере ниже:
var object1 = {
'obj1' : {
'obj1a' : 'a',
'obj1b' : 'b'
},
'obj2' : {
'obj2c' : 'c',
'obj2d' : 'd'
}
}
var assignObject = {}
assignObject['obj1a'] = object1['obj1']['obj1a']
assignObject['obj1a'] = 'bbb'
console.log('assignObject' + JSON.stringify(assignObject))
console.log('object1' + JSON.stringify(object1))
Всякий раз, когда я изменяю содержимое assignObject['obj1a']
, я хочу, чтобы оно отражалось и на object1['obj1']['obj1a']
.
var assignObject = {}
assignObject['obj1a'] = object1['obj1']['obj1a'] // this is my idea of 'binding'
assignObject['obj1a'] = 'bbb' // and updating of assignObject['obj1a']
Печать на консоли:
assignObject{"obj1a":"bbb"}
object1{"obj1":{"obj1a":"a","obj1b":"b"},"obj2":{"obj2c":"c","obj2d":"d"}}
И я хотите напечатать:
assignObject{"obj1a":"bbb"}
object1{"obj1":{"obj1a":"bbb","obj1b":"b"},"obj2":{"obj2c":"c","obj2d":"d"}}
Как я могу сделать это в Javascript? Обратите внимание, что будет несколько параметров, и они будут динамическими c в реальном коде (вложенные объекты неопределенной глубины).
Вот скрипка: https://jsfiddle.net/ha2qcdko/
Спасибо!