【发布时间】:2017-06-24 01:35:34
【问题描述】:
我正在尝试使用表单输入中的键“名称”将对象推送到数组中。我从表单中获取信息并记录 object.name & id。它位于覆盖先前对象值的输入中的以下条目上。 我如何在这里覆盖所有对象值? 谢谢!
let inputValues = [];
let newTodoInput = {};
let idNumber = 0;
function bindEvents() {
$('form').on('submit', function() {
event.preventDefault();
newTodoInput.name = $('.new-todo').val(); // obj
newTodoInput.id = idNumber++;
inputValues.push(newTodoInput);
$('form').trigger("reset"); // clear form
});
}
数组中的第一个条目
0:Object
id:1
name:"1st entry"
数组的第二个条目
0:Object
id:1
name:"2nd entry"
1:Object
id:1
name:"2nd entry"
【问题讨论】:
-
您没有创建新对象,您只是不断更改同一个对象并将同一个对象插入到您的数组中。
inputValues[0] === inputValues[1]。let newTodoInput = {};在事件处理程序之外是不必要的,它应该在里面。此外,idNumber可以替换为inputValues.length + 1
标签: jquery arrays object ecmascript-6