Rumah  >  Soal Jawab  >  teks badan

Buat fungsi yang berselang-seli antara .pop() dan .shift()

Saya mengalami kesukaran pemula dengan latihan JS saya. Saya perlu menulis fungsi popAndShift(). Fungsi ini mula-mula mencetak kandungan tatasusunan tatasusunan1 dan tatasusunan2. Kemudian, keluarkan unsur tatasusunan2 secara bergilir-gilir menggunakan kaedah .pop() dan .shift() (bermula dengan .pop()) dan tambahkan nilai yang dialih keluar ke penghujung tatasusunan1. Akhir sekali, cetak kandungan array1. **Ujian automatik memberikan nilai kepada tatasusunan. ** Kod saya lulus ujian pertama tetapi gagal yang kedua. Saya tertanya-tanya sama ada saya perlu menggunakan gelung for untuk mencapai hasil yang diingini. terima kasih atas bantuan anda.

Kod dan tangkapan skrin ujian

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粉403804844423 hari yang lalu455

membalas semua(1)saya akan balas

  • P粉920835423

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

    Saya melihat imej yang anda berikan dan fungsi baharu ini sepatutnya berfungsi dan menghasilkan output yang diharapkan. Kami menyimpan pembolehubah yang dipanggil usePop dan kemudian menggunakannya secara bergilir setiap kali kami menjalankan gelung sehingga tatasusunan2 kosong.

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

    Keluaran:

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

    balas
    0
  • Batalbalas