Piemērs ar parametru, izmantojot rekursiju JavaScript
Izmantosim rekursiju, lai secīgi izvadītu masīva elementus. Lai masīvs sākotnēji tiek padots funkcijas parametram:
func([1, 2, 3]);
Pagaidām izmantosim metodi
shift
bez rekursijas, lai izvadītu visus masīva elementus pēc kārtas:
function func(arr) {
console.log(arr.shift()); // izvadīs 1
console.log(arr); // izvadīs [2, 3] - masīvs samazinājies
console.log(arr.shift()); // izvadīs 2
console.log(arr); // izvadīs [3] - masīvs samazinājies
console.log(arr.shift()); // izvadīs 3
console.log(arr); // izvadīs [] - masīvs ir tukšs
}
func([1, 2, 3]);
Kā redzat, metode shift izgriež
un atgriež masīva pirmo elementu, kamēr
pats masīvs par šo elementu samazinās.
Tagad izmantosim rekursiju:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Protams, patiesībā visvieglāk ir izmantot ciklu, lai izietu cauri masīva elementiem. Dotie piemēri vienkārši demonstrē rekursijas darbību ar vienkāršiem (nepraktiskiem) piemēriem. Vairāk noderīgi rekursijas piemērošanas piemēri ir vienkārši sarežģītāki, mēs tos apskatīsim nedaudz vēlāk.
Dots masīvs:
let arr = [1, 2, 3, 4, 5];
Izmantojot rekursiju, izvadiet šī masīva elementus konsolē.