我正在尝试使用 JavaScript 动态将一个包含输入字段值的对象添加到数组的末尾。唯一的问题是我正在尝试使用输入字段来完成。这是我想要发生的事情:
- 用户在文本字段中输入内容
- 我的程序已经为其添加了唯一 ID
- 以对象的形式添加到数组的末尾
- 继续向该数组添加对象
这就是我想要在我的JSON 文件中的内容:
{
"list": [{
"id": 0,
"description": "Task #1 Description"
}, {
"id": 1,
"description": "Task #2 Description"
}, {
"id": 3,
"description": "Task #3 Description"
}]
}
我目前得到的是:
{
"list": [{
"id": 0,
"description": "Task #1 Description"
}, ]
}
每次我添加新任务时,它都会替换已经存在的任务。
这是我的JavaScript 代码:
// This is the counter
var indentification = 0;
// This is the submit button
var submit = document.getElementById("submit");
// This is the text field
var content = document.getElementById("text");
submit.onclick = function() {
id = indentification++;
description = content.value;
var task = {
list: []
}
task.list.push({id, description});
var jsonifyTask = JSON.stringify(task);
fs.writeFile("tasks.json", jsonifyTask, "utf8");
}
如果有人能帮助我,我将非常感激。我花了小时 试图弄明白。谢谢!
最佳答案
问题出在这里:
var task = {
list: []
}
task.list.push({id, description});
每次执行此操作时,您的列表都会变空,然后添加新项目。
关于JavaScript - 通过输入字段将对象添加到数组的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42054018/