我有一个带有数组的复杂 javascript 对象。当我尝试为索引的一个属性设置值时,它会应用于数组的所有项目。
这是一个基本示例:
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]
我的实际对象要复杂得多,但这是正在发生的事情的基本概念......
有任何想法吗?