我需要将对象推入Javascript中的数组,但是每次推入都会覆盖我已经添加的同一对象。例如:
//This is object list
var NewIssue = {};
//This is array
var newIssueList = [];
function myFunction() {
for (var i = 0; i < 3; i++) {
NewIssue.Id = i;
NewIssue.Number = 233 + i;
NewIssue.Name = "Test" + i.toString();
newIssueList.push(NewIssue);
}
}
最后,我将具有3个相同对象的newIssueList。为什么会覆盖第一个?如何解决此问题?
最佳答案
您必须在循环内移动对象。
var newIssueList = [];
function myFunction() {
for (var i = 0; i < 3; i++) {
var NewIssue = {};
NewIssue.Id = i;
NewIssue.Number = 233 + i;
NewIssue.Name = "Test" + i.toString();
newIssueList.push(NewIssue);
}
}
myFunction();
console.log(newIssueList);
然后,您可以扩展对象文字a,但使其更具可读性:
for (var i = 0; i < 3; i++) {
var NewIssue = {
Id:i,
Number:233+i,
Name:"Test"+i
};
newIssueList.push(NewIssue);
}
关于javascript - 在JavaScript中推送对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45256872/