数组中的Javascript对象引用

时间:2018-09-22 22:18:50

标签: javascript json object reference javascript-objects

我有一个名为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的属性不受影响。这个问题有解决方案吗?

1 个答案:

答案 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());