如何创建一个在.pop()和.shift()之间交替的函数



我有初学者的麻烦与JS练习。我必须写一个函数popAndShift()。该函数必须首先打印数组array1和array2的内容。在此之后,array2的元素将被删除,在.pop()和.shift()方法之间交替使用(从.pop()开始),同时将删除的值添加到array1的末尾。最后,将打印array1的内容。**自动测试负责给数组赋值。**我的代码通过了第一次测试,但没有通过第二次测试。我想知道我是否必须使用for循环来实现所需的结果。如果你能帮上忙,我会很感激的,谢谢。

代码和测试截图

function popAndShift(){
console.log("First array: " + array1);
console.log("Second array: " + array2);
RemoveE =array2.pop();
RemoveB=array2.shift();
RemoveC =array1.push(RemoveE,RemoveB,array2);

console.log("Resulting array:" + array1);
}   

我查看了您提供的图像,这个新函数应该可以工作并给出预期的输出。我们存储一个名为usePop的变量,然后在每次运行循环时交替使用它,直到array2为空。

const array1 = ["A"];
const array2 = ["B", "C", "D", "E", "F", "G", "H", "I"];
function popAndShift(){
console.log("First array: " + array1);
console.log("Second array: " + array2);
let usePop = true;
while (array2.length > 0) {
array1.push(usePop ? array2.pop() : array2.shift());
usePop = !usePop;
}
console.log("Resulting array: " + array1);
}
popAndShift();

输出:

First array: A
Second array: B,C,D,E,F,G,H,I
Resulting array: A,I,B,H,C,G,D,F,E

相关内容

  • 没有找到相关文章

最新更新