我正在学习JavaScript的第三周,现在遇到了一个有些棘手的任务。
我的任务是创建一个名为mix的函数,它需要两个参数,都是数组。当调用该函数时,应返回一个新的列表,该列表在这两个先前的数组之间交替(见下面的示例)。
由于涉及到数组和循环,所以我必须使用这些。另外,我只能使用以下数组函数:push、pop、shift和unshift。
我的老师说,使用while循环最容易解决这个问题。
示例:
我也想知道使用while循环会更容易些,以及该如何使用它。谢谢!
我的任务是创建一个名为mix的函数,它需要两个参数,都是数组。当调用该函数时,应返回一个新的列表,该列表在这两个先前的数组之间交替(见下面的示例)。
由于涉及到数组和循环,所以我必须使用这些。另外,我只能使用以下数组函数:push、pop、shift和unshift。
我的老师说,使用while循环最容易解决这个问题。
示例:
mix([], []) === []
mix([2, 4], []) === [2, 4]
mix([], [8, 16]) === [8, 16]
mix([1, 3, 5], [2, 4]) === [1, 2, 3, 4, 5]
mix([10, 9], ['a', 'b', 'c']) === [10, 'a', 9, 'b', 'c']
在我得到有关使用 while 循环最简单的提示之前,我开始尝试使用 for 循环。我在这里遇到的问题是只有在数组长度相同时它才能正常工作,但我不知道如何解决让数组长度可以不同的问题。
由于我想要学习,所以我希望能得到正确方向的指引而不是整个答案!
请原谅我的混乱初学者代码 :)
我当前的代码
function mix(array1, array2) {
let newList = [];
for(i = 0; i < array1.length || i < array2.length; i++) {
if(array1.length > 0 || array2.length > 0){
newList.push( array1[i] );
newList.push( array2[i] );
}
}
return newList;
}
mix([10, 9],['a', 'b', 'c'])
我也想知道使用while循环会更容易些,以及该如何使用它。谢谢!