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:

javascriptfunc([1, 2, 3]);

Pagaidām izmantosim metodi shift bez rekursijas, lai izvadītu visus masīva elementus pēc kārtas:

javascriptfunction 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:

javascriptfunction 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.

Задание 1

Dots masīvs:

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

Izmantojot rekursiju, izvadiet šī masīva elementus konsolē.