Javascript 为什么我的函数在尝试将值推送到数组时不起作用?

Javascript 为什么我的函数在尝试将值推送到数组时不起作用?,javascript,Javascript,const todo=[{ 任务:“洗盘子”, 日期:“星期一” },{ 任务:“清洁电脑”, 日期:星期二 },] 让addTask=todo.push((todoTask,date)=>{ todo.task=todoTask, todo.day=日期 }) addTask('car','monday') 对于(变量i=0;i{ 推({ 任务:托杜塔斯克, 日期:日期 }) }; addTask不是一个函数。使用函数作为参数调用todo.push(),然后将返回值赋给addTaskpush(

const todo=[{
任务:“洗盘子”,
日期:“星期一”
},{
任务:“清洁电脑”,
日期:星期二
},]
让addTask=todo.push((todoTask,date)=>{
todo.task=todoTask,
todo.day=日期
})
addTask('car','monday')
对于(变量i=0;i}
您得到了
。按一下
,箭头功能就混在一起了。试试这个:

array.push({
   task: todoTask,
   day: date
})

let addTask=(todoTask,日期)=>{
推({
任务:托杜塔斯克,
日期:日期
})
};

addTask
不是一个函数。使用函数作为参数调用
todo.push()
,然后将返回值赋给
addTask
push()
返回数组的新长度,因此将函数添加到数组中,然后将
addTask
设置为数组长度

您需要将函数从
push()
参数中去掉。然后,您需要为对象文本使用正确的语法

const todo=[{
任务:“洗盘子”,
日期:“星期一”
}, {
任务:“清洁电脑”,
日期:星期二
}, ]
让addTask=(todoTask,date)=>todo.push({
任务:托杜塔斯克,
todo:日期
})
addTask('car','monday')
对于(变量i=0;i}
您正在将以下函数推入
todo
数组的末尾:

(todoTask, date) => { ... }  
之后调用,因此您将得到长度(一个数字)作为
addTask
的返回值

addTask
函数的定义应为:

let addTask = (task, day) => todo.push({task ,day});

您不需要单独的函数,只需向数组中添加一些值即可。试试这个:

array.push({
   task: todoTask,
   day: date
})

但是,如果要创建函数,请执行以下操作:

const addTask = (task, day) => todo.push({task, day})


与其他变量类似,但您可以更改变量名,以使ES6对象构造最小化

const todo=[{
任务:“洗盘子”,
日期:“星期一”
}, {
任务:“清洁电脑”,
日期:星期二
}, ]
让addTask=(task,day)=>todo.push({task,day});
addTask('car','monday')
对于(变量i=0;i}
箭头函数的正确表示法是:(args)=>{}。addTask实际上不是函数格式,它只是接收推送返回,要解决此问题,请执行以下操作:

let addTask = (todoTask, date) => todo.push({task: todoTask, day: date})
e、 g

const todo=[{
任务:“洗盘子”,
日期:“星期一”
},{
任务:“清洁电脑”,
日期:星期二
},]
让addTask=(todoTask,date)=>todo.push({task:todoTask,day:date})
addTask('car','monday')
对于(变量i=0;i}
您正在将函数推送到数组上,而不是对象。
push()
不接受回调吗?如果
addTask
函数没有以函数方式返回新数组,则不需要以这种方式将
todo
作为
addTask
的参数。如果对对象进行了一些修改,则不需要返回对象。因为对象在js.Yes中是通过引用传递的,所以不需要将其作为参数。在某些数组是不可变的函数式语言中,
addTask
可以使用
todo
参数并返回一个变异数组。