suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Erstellen Sie eine Funktion, die zwischen .pop() und .shift() wechselt

Ich habe Anfängerschwierigkeiten mit meinen JS-Übungen. Ich muss eine Funktion popAndShift() schreiben. Diese Funktion gibt zunächst den Inhalt der Arrays array1 und array2 aus. Entfernen Sie dann abwechselnd Elemente von Array2 mit den Methoden .pop() und .shift() (beginnend mit .pop()) und fügen Sie die entfernten Werte am Ende von Array1 hinzu. Drucken Sie abschließend den Inhalt von Array1 aus. **Automatisierte Tests weisen Arrays Werte zu. ** Mein Code besteht den ersten Test, scheitert aber beim zweiten. Ich frage mich, ob ich eine for-Schleife verwenden muss, um das gewünschte Ergebnis zu erzielen. Vielen Dank für Ihre Hilfe.

Code- und Test-Screenshots

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);
}

P粉403804844P粉403804844445 Tage vor471

Antworte allen(1)Ich werde antworten

  • P粉920835423

    P粉9208354232023-09-12 19:54:24

    我查看了您提供的图像,这个新的函数应该可以工作并产生预期的输出。我们正在存储一个名为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

    Antwort
    0
  • StornierenAntwort