我有一个复杂的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]
我的实际对象要复杂得多,但是这是发生了什么的基本思想......
有任何想法吗?
关于铬的工作正常,您的浏览器是什么? – pylover 2012-04-12 22:56:20
它工作正常。你可以在http://jsfiddle.net/swzF9/看到。 – Zafer 2012-04-12 22:58:12