我有一个名为o
的对象。我想将名为newOb
的数组的元素分配给o
的专有属性,这样对newObj
所做的任何更改都会影响o
。到目前为止,效果很好:
let o = {}
let c = {c:18}
let newOb = [{a: 55}, {b: 55}]
o.propA = newOb[0]
o.propB = newOb[1]
newOb[0].a++
console.log(newOb, o)
输出:
Array [Object { a: 56 }, Object { b: 55 }] Object { propA: Object { a: 56 }, propB: Object { b: 55 } }
直到此:
let o = {}
let c = {c:18}
let newOb = [{a: 55}, {b: 55}]
o.propA = newOb[0]
o.propB = newOb[1]
newOb[0] = c
console.log(newOb, o)
输出
Array [Object { c: 18 }, Object { b: 55 }] Object { propA: Object { a: 55 }, propB: Object { b: 55 } }
当我尝试更改newOb
的元素时,o
的属性不受影响。这个问题有解决方案吗?
答案 0 :(得分:0)
let o = {}
let c = {c:18}
let newOb = [{a: 55}, {b: 55}]
o.propA = a => newOb[0]
o.propB = a => newOb[1]
newOb[0] = c
console.log(newOb, o.propA(), o.propB());