Javascript 将新对象作为对象推送到数组中

Javascript 将新对象作为对象推送到数组中,javascript,Javascript,我需要了解如何将两个键值对推入对象中的数组 对象如下所示: const todos = [{ text: 'Order airline tickets', completed: false },{ text: 'Vaccine appointment', completed: true }, { text: 'Order Visa', completed: true }, { text: 'Book hotell', completed: false }, {

我需要了解如何将两个键值对推入对象中的数组

对象如下所示:

const todos = [{
  text: 'Order airline tickets',
  completed: false
},{
  text: 'Vaccine appointment',
  completed: true
}, {
  text: 'Order Visa',
  completed: true
}, {
  text: 'Book hotell',
  completed: false
}, {
  text: 'Book taxi to airport',
  completed: true
}]
//Variable to store value from textbox for new todo
let newTodo = ''
let status = false
//Insert new todo
document.querySelector('#addTodo').addEventListener('submit', function (e) {
    e.preventDefault()
    newTodo = e.target.elements.inputTodo.value
    //console.log(newTodo)
})
我创建了一个带有表单和文本输入的html页面,用于在数组中创建新项目:

<form action="" id="addTodo">
 <input type="text" name="inputTodo" placeholder="Insert new todo">
 <button>Add Todo</button> 
 </form>
document.querySelector('[name="inputTodo"]').value
新todo的完成值将始终为false。 我有一个单独的函数,它循环遍历对象,并将其显示在一个div中,文本部分带有p标记,完成状态为false或true的单选按钮

我需要学习的是如何插入表单的值并将其推入todos.text,然后获取硬编码的值false并将其推入todos.completed

谢谢

应该是这样的:

todos.push({
    text: e.target.elements.inputTodo.value,
    completed: false
});
或者,如果要使用临时变量:

todos.push({
    text: newTodo,
    completed: status
});
您甚至可以定义一个新的临时对象并将其推送:

var newTodoObject = {
    text: newTodo,
    completed: status
}
todos.push(newTodoObject);
应该是这样的:

todos.push({
    text: e.target.elements.inputTodo.value,
    completed: false
});
或者,如果要使用临时变量:

todos.push({
    text: newTodo,
    completed: status
});
您甚至可以定义一个新的临时对象并将其推送:

var newTodoObject = {
    text: newTodo,
    completed: status
}
todos.push(newTodoObject);

必须以输入元素为目标才能获得值。然后使用值形成对象,并用于将对象推送到数组中:

<form action="" id="addTodo">
 <input type="text" name="inputTodo" placeholder="Insert new todo">
 <button>Add Todo</button> 
 </form>
document.querySelector('[name="inputTodo"]').value
const todos=[{
文本:“订购机票”,
已完成:false
},{
文本:“疫苗预约”,
已完成:正确
}, {
文本:“订购签证”,
已完成:正确
}, {
文字:“预订酒店”,
已完成:false
}, {
文字:“预订去机场的出租车”,
已完成:正确
}]
让newTodo=''
让状态=假
//插入新的待办事项
document.querySelector('#addTodo').addEventListener('submit',函数(e){
e、 预防默认值()
newTodo=document.querySelector('[name=“inputto”]')。值;
push({text:newTodo,completed:false});
控制台日志(todos)
})

添加待办事项

必须以输入元素为目标才能获得值。然后使用值形成对象,并用于将对象推送到数组中:

<form action="" id="addTodo">
 <input type="text" name="inputTodo" placeholder="Insert new todo">
 <button>Add Todo</button> 
 </form>
document.querySelector('[name="inputTodo"]').value
const todos=[{
文本:“订购机票”,
已完成:false
},{
文本:“疫苗预约”,
已完成:正确
}, {
文本:“订购签证”,
已完成:正确
}, {
文字:“预订酒店”,
已完成:false
}, {
文字:“预订去机场的出租车”,
已完成:正确
}]
让newTodo=''
让状态=假
//插入新的待办事项
document.querySelector('#addTodo').addEventListener('submit',函数(e){
e、 预防默认值()
newTodo=document.querySelector('[name=“inputto”]')。值;
push({text:newTodo,completed:false});
控制台日志(todos)
})

添加待办事项

是否可以在常量数组上使用push()?@R3tep-是。数组不是不变的。常量的值(对数组的引用)是。
todos.push()?那是怎么回事(没有情人)?@詹姆斯,接得好,谢谢!(我完全错过了)可以在常量数组上使用push()吗?@R3tep-是的。数组不是不变的。常量的值(对数组的引用)是。
todos.push()?那是怎么回事(没有情人)?@詹姆斯,接得好,谢谢!(我完全错过了它)OP选择元素的方法很好,问题在于推送到
todos
数组中的内容。@Shomz,区别在于从输入中获取值,如果可能的话,提供一个可执行的代码段不是很好吗?是的,我在第一篇评论中写道,OP的方法效果很好,这不是问题所在。运行他的代码,你就会看到。这很好:)只是想避免重复的答案。OP选择元素的方法很好,问题在于推送到
todos
数组中的内容。@Shomz,区别在于从输入中获取值,如果可能的话,提供一个可执行的代码段不是很好吗?是的,我在第一篇评论中写道,OP的方法效果很好,这不是问题所在。运行他的代码,你就会看到。没关系:)只是想避免重复的答案。