【发布时间】:2016-03-02 02:06:00
【问题描述】:
我有一个包含 71 个对象的数组:
var data = []
我使用来自数据库的数据填充此数据,该数据库包含填充 data 的对象的静态和动态元素。
angular.forEach(returnData,function(value,index) {
if(!Array.isArray(value)) {
tempObject[key] = value;
}
});
for(i = 0; i < 71; i++) {
data.push(tempObject);
}
因此,在 Angular 中,我从返回数据中获取每个静态元素,创建它的一个对象,然后重复同一个对象 71 次。所以数据可能会像这样开始:
[
{'a': 1,
'b': 2,
'd': 7
},
{'a': 1,
'b': 2,
'd': 7
}
]
然后我去抓取所有作为数组传回的元素,并尝试将它们添加到data 数组中。
但是,一旦我添加了第一个元素,它就会为数组中的每个对象设置相同的元素。
意味着data[0]['c'] = 11; 将导致:
[
{'a': 1,
'b': 2,
'c': 11,
'd': 7
},
{'a': 1,
'b': 2,
'c': 11,
'd': 7
}
]
即使我没有触及数组中的第二个索引。当我更新第二个索引时,它也会更新第一个索引。我确定我在这里缺少一些东西。
谢谢!
【问题讨论】:
标签: javascript arrays angularjs