Contoh dengan Parameter melalui Rekursi dalam JavaScript

Mari, dengan menggunakan rekursi, secara berurutan tunjukkan elemen-elemen array. Katakan array pada asalnya dihantar sebagai parameter kepada fungsi:

javascriptfunc([1, 2, 3]);

Mari buat masa ini tanpa rekursi menggunakan kaedah shift tunjukkan semua elemen array satu persatu:

javascriptfunction func(arr) {
  console.log(arr.shift()); // akan menunjukkan 1
  console.log(arr); // akan menunjukkan [2, 3] - array mengecil
  
  console.log(arr.shift()); // akan menunjukkan 2
  console.log(arr); // akan menunjukkan [3] - array mengecil
  
  console.log(arr.shift()); // akan menunjukkan 3
  console.log(arr); // akan menunjukkan [] - array kosong
}

func([1, 2, 3]);

Seperti yang anda lihat, kaedah shift memotong dan mengembalikan elemen pertama array, sementara array itu sendiri mengecil dengan kehilangan elemen tersebut.

Sekarang mari gunakan rekursi:

javascriptfunction func(arr) {
  console.log(arr.shift(), arr);
  
  if (arr.length != 0) {
    func(arr);
  }
}

func([1, 2, 3]);

Sebenarnya, sememangnya lebih mudah untuk mengulangi elemen-elemen array menggunakan gelung. Contoh-contoh yang diberikan hanya menunjukkan cara kerja rekursi menggunakan contoh mudah (bukan dari kehidupan sebenar). Contoh-contoh penggunaan rekursi yang lebih berguna adalah lebih kompleks, kami akan membincangkannya sedikit kemudian.

Задание 1

Diberikan array:

javascriptlet arr = [1, 2, 3, 4, 5];

Dengan menggunakan rekursi, tunjukkan elemen-elemen array ini dalam konsol.