我想将数据存储在两个不同的结构化对象中,例如:
MS = {
waypoints:
{ 'wpg0' : 'content',
'id' : 'uuid1'
}
};
InvertedMS = {
'uuid1': { 'wpg0' : 'content'
}
};
是否可以(以及如何)以两种对象中的一种更新两种对象的方式来设置'内容'?
答案 0 :(得分:1)
是的,这很有可能。但是您需要一个纯对象引用而不是原始值。由于ECMAscript实际上只传递 referecens ,这几乎意味着你想要的。例如
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