1

我想将数据存储在两个不同的结构化对象中,例如:

MS = {              
    waypoints:
        { 'wpg0' : 'content',
          'id' : 'uuid1'
                    }
};

InvertedMS = {
    'uuid1': { 'wpg0' : 'content'
             }
};

是否可以(以及如何)以一种在两个对象中更新的方式设置“内容”,因为它在两个对象之一中得到更新?

这是我的实验 jsfiddle

4

1 回答 1

1

是的,这是很有可能的。但是你需要一个纯对象引用而不是原始值。由于 ECMAscript 仅有效地传递参考,这几乎暗示了您想要的。例如

var sharedData = { };

waypoint = {
    wpg0: sharedData
};

InvertedMS = {
    uuid1: { 
        wpg0: sharedData
    }
};

现在,稍后如果您更改 中的任何内容sharedData,所有对它的引用都将反映这些更改。

sharedData.update = 42;

console.log( InvertedMS.uuid1.wpg0.update ); // 42

waypoint.wpg0.update = 82;

console.log( InvertedMS.uuid1.wpg0.update ); // 82
于 2013-05-01T11:10:17.457 回答