JavaScript - 通过输入字段将对象添加到数组的末尾

标签 javascript html node.js electron

我正在尝试使用 JavaScript 动态将一个包含输入字段值的对象添加到数组的末尾。唯一的问题是我正在尝试使用输入字段来完成。这是我想要发生的事情:

  1. 用户在文本字段中输入内容
  2. 我的程序已经为其添加了唯一 ID
  3. 以对象的形式添加到数组的末尾
  4. 继续向该数组添加对象

这就是我想要在我的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/

相关文章:

image - 在 node.js 中绘制图像

javascript - 对 php 的 Ajax 请求每次页面加载只能运行一次

javascript - 函数调用时如何显示javascript参数提示

javascript - CasperJS 中的静默错误

javascript - 导致 "Cannot call method ' getElementsByTagName' of null "的错误?

javascript 多个选项卡无法正常工作

html - 滚动时我的 div 与标题重叠

javascript - HTML 在不提交数据的情况下从输入填充选择菜单?

javascript - new Date() 在错误的时区

c# - 发送帖子请求多部分表单数据。来自某些 Microsoft 服务的错​​误 "Line length limit 100 exceeded"