Buat fungsi yang berselang-seli antara .pop() dan .shift()
P粉403804844
P粉403804844 2023-09-11 21:30:34
0
1
466

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粉403804844
P粉403804844

membalas semua(1)
P粉920835423

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan