配列を持つ複雑なJavaScriptオブジェクトがあります。インデックスの1つの属性に値を設定しようとすると、配列のすべての項目に適用されます。
基本的な例を次に示します。
var obj = new Object();
obj.arr = [];
obj.arr[0] = {pos:[0,0]};
obj.arr[1] = {pos:[0,0]};
ここで、特定のインデックスを介してオブジェクトの属性に値を設定すると、
obj.arr[0].pos = [10,10];
obj.arr[1].pos = [5,5];
ここで[5,5]
は、配列の両方の項目の値を設定しているようです。結果の値は次のとおりです。
console.log(obj.arr[0].pos)
戻り[5,5]
、
console.log(obj.arr[1].pos)
また戻ります[5,5]
私の実際のオブジェクトははるかに複雑ですが、これは何が起こっているかについての基本的な考え方です...
何か案は?