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:
func([1, 2, 3]);
Mari buat masa ini tanpa rekursi menggunakan kaedah
shift
tunjukkan semua elemen array satu persatu:
function 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:
function 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.
Diberikan array:
let arr = [1, 2, 3, 4, 5];
Dengan menggunakan rekursi, tunjukkan elemen-elemen array ini dalam konsol.