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:
func([1, 2, 3]);
Mari kita sementara tanpa rekursi, menggunakan metode
shift
tampilkan semua elemen array satu per satu:
function 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:
function 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.
Diberikan array:
let arr = [1, 2, 3, 4, 5];
Dengan menggunakan rekursi, tampilkan elemen-elemen dari array ini ke konsol.