JavaScript多维数组挑战:createToDoList函数实现问题求助
解决JavaScript createToDoList函数结构问题
你的问题出在toDoList.push(tasks)这一行——它把整个tasks数组作为单个元素塞进了toDoList,导致最终返回的数组多了一层嵌套(变成[[[任务1], [任务2], [任务3]]]),不符合挑战要求的结构。
要正确添加任务子数组,有两种简单的方法:
方法1:使用扩展运算符(推荐)
通过扩展运算符...把tasks里的每个子数组逐个推入toDoList:
function createToDoList() { const toDoList = []; // Do not alter any code above here const tasks = [ ['task 1', 45], ['task 2', 87], ['task 3', 83] ]; toDoList.push(...tasks); // Do not alter any code below here return toDoList; }
方法2:循环逐个添加
如果对扩展运算符不熟悉,也可以用循环遍历tasks,把每个子数组单独推入:
function createToDoList() { const toDoList = []; // Do not alter any code above here const tasks = [ ['task 1', 45], ['task 2', 87], ['task 3', 83] ]; for (const task of tasks) { toDoList.push(task); } // Do not alter any code below here return toDoList; }
修改后,createToDoList()返回的数组结构就会符合要求:[['task 1', 45], ['task 2', 87], ['task 3', 83]],包含3个独立的任务子数组。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

