Contoh dengan Parameter melalui Rekursi di JavaScript

Mari kita, dengan menggunakan rekursi, secara berurutan tampilkan elemen-elemen array. Misalkan array awalnya diteruskan ke parameter fungsi:

javascriptfunc([1, 2, 3]);

Mari kita sementara tanpa rekursi, menggunakan metode shift tampilkan semua elemen array satu per satu:

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

func([1, 2, 3]);

Seperti yang Anda lihat, metode shift memotong dan mengembalikan elemen pertama array, sementara array itu sendiri berkurang sebanyak elemen tersebut.

Sekarang mari kita gunakan rekursi:

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

func([1, 2, 3]);

Sebenarnya, tentu saja, lebih mudah untuk melakukan iterasi elemen array dengan loop. Contoh-contoh yang diberikan di atas hanya mendemonstrasikan cara kerja rekursi pada contoh-contoh sederhana (bukan dari kehidupan nyata). Contoh-contoh penerapan rekursi yang lebih berguna memang lebih kompleks, kita akan membahasnya sedikit di bawah.

Задание 1

Diberikan array:

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

Dengan menggunakan rekursi, tampilkan elemen-elemen dari array ini ke konsol.