【发布时间】:2025-12-10 04:55:02
【问题描述】:
这里的新手......要友善。
我有一个空对象,它将被推入一个数组。
listView = {};
我给它添加属性。
listView.code = code;
listView.description = description;
我将结果对象推入一个数组。
listy.push(listView);
每次我在第 2 步中输入新选择时,它都会覆盖对象,而不是将新的对象属性添加到数组中。它还将索引加一,所以它只是重复......
[{"code":"I77.812","description":"Thoracoabdominal Aortic Ectasia"}]
[{"code":"I77.811","description":"Abdominal Aortic Ectasia"},{"code":"I77.811","description":"Abdominal Aortic Ectasia"}]
[{"code":"I06.1","description":"Rheumatic aortic insufficiency"},{"code":"I06.1","description":"Rheumatic aortic insufficiency"},{"code":"I06.1","description":"Rheumatic aortic insufficiency"}]
数组应该包含三个不同的对象。但相反,它具有新添加的三个副本...
我应该如何添加新的选择对象,以免它们被覆盖?
【问题讨论】:
-
如何添加三个新对象?你能把你用来做那件事的代码放上去吗?
-
第一个错误:var listView= {};
-
javascript 对象通过引用传递。所以一旦列表对象的值改变了。它也反映在 listy 数组中。您可以每次在循环内创建列表对象并作为 var list = {},并将列表对象也推送到循环内。
标签: javascript arrays object