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
参数并返回一个变异数组。