JavaScript变量引用数组时出现问题
Issue with JavaScript variable references to an array
我有一个名为dict的字典,里面有三个变量
然后,我有一个数组,它必须包含字典,但每次都会向其中添加一个名为name的新变量。
现在到最后,所有的名字都变得相等了,我该如何解决这个问题?
dict = {"a" :1, "b" : 2, "c" : 3};
items = [];
item1.tempdict = dict;
item1.tempdict.name = 4;
item2.tempdict = dict;
item2.tempdict.name = 5;
item3.tempdict = dict;
item3.tempdict.name = 6;
感谢
问题是您要创建dict对象,然后只需在每个项对象中添加对单个dict对象的引用。每次将dict对象附加到项目时,都需要克隆它,以获得它的克隆版本。
关于如何做到这一点的信息可以在这里找到。
从上面的链接中,对于没有函数的基本bean对象,一种可能的方法是使用以下技术:
var clonedObject = JSON.parse(JSON.stringify(objectToClone));
不过,如果您的对象是众所周知的,并且可以很容易地重新创建,那么还有其他方法可以做到这一点,例如通过构造函数。希望能有所帮助:)
相关文章:
- 将子文档推送到父数组时遇到问题
- 从数组在d3中创建条形图时出现问题
- JavaScript/jQuery JSON数组问题-值为未定义
- JavaScript变量引用数组时出现问题
- Javascript中的多维数组排序索引问题
- JavaScript对象中存在数组的问题
- array_push平面数组问题-需要能够向数组中添加多个变量
- 多维数组 JAVASCRIPT 出了点问题
- javascript中的数组和if语句存在问题
- JavaScript的循环问题,将值插入数组将不起作用
- Javascript数组比较问题
- 设置和添加数组值javascript时出现问题
- 数组有什么问题
- 在Javascript/Google Maps Api中将结果放入数组时出现问题
- 尽管使用了off,click函数仍会触发,这可能也会导致数组问题
- azure移动服务中的数组长度问题
- 将数组从PHP传递到Javascript(Jquery)的问题,如常见答案所示
- 填充对象的Javascript数组时出现问题
- JavaScript——迭代一系列问题(数组/对象)
- 表单显示问题+数组下的结果