Прыклад з параметрам праз рэкурсію ў JavaScript
Давайце, з дапамогай рэкурсіі паслядоўна выведзем элементы масіва. Хай масіў першапачаткова перадаецца параметрам функцыі:
func([1, 2, 3]);
Давайце пакуль без рэкурсіі з выкарыстаннем метаду
shift
выведзем усе элементы масіва па чарзе:
function func(arr) {
console.log(arr.shift()); // выведзе 1
console.log(arr); // выведзе [2, 3] - масіў паменшыўся
console.log(arr.shift()); // выведзе 2
console.log(arr); // выведзе [3] - масіў паменшыўся
console.log(arr.shift()); // выведзе 3
console.log(arr); // выведзе [] - масіў пусты
}
func([1, 2, 3]);
Як вы бачыце, метад shift
вырэзвае
і вяртае першы элемент масіва, пры
гэтым сам масіў паменшыўся на гэты элемент.
Давайце цяпер выкарыстаем рэкурсію:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
На самой справе, вядома ж, найпрасцей перабраць элементы масіва цыклам. Прыведзеныя прыклады пакуль проста дэманструюць працу рэкурсіі на простых прыкладах (не жыццёвых). Больш карысныя прыклады ўжывання рэкурсіі проста больш складаныя, мы іх разбяром крыху ніжэй.
Дадзены масіў:
let arr = [1, 2, 3, 4, 5];
З дапамогай рэкурсіі выведзіце элементы гэтага масіва ў кансоль.