ජාවාස්ක්‍රිප්ට් හි ජනන ශ්‍රිත තුළ ලූප

ජනන ශ්‍රිත තුළ ලූප භාවිතා කළ හැකිය. මෙමගින් අපට yield භාවිතයෙන් ලූප තාවකාලිකව නතර කළ හැකිය. අපි උදාහරණයක් මගින් බලමු. අපි සෑම පුනරාවර්තනයක්ම තාවකාලිකව නතර කරමු:

javascriptfunction *func() {
  for (let i = 1; i <= 3; i++) {
    yield i;
  }
}

පුනරාවර්තකය ලබා ගනිමු:

javascriptlet iter = func();

අපගේ පුනරාවර්තකයේ ක්‍රියාකාරිත්වය පරීක්ෂා කරමු:

javascriptconsole.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Задание 1

පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම 10 සිට ශුන්‍යය දක්වා අංක ආපසු දෙනු ඇත.

Задание 2

ජනකයක් සාදන්න, එය පරාමිතියක් ලෙස අංකයක් පිළිගනී. පුනරාවර්තකයේ සෑම කැඳවීමක්ම ශුන්‍යයට ළඟා වන තෙක් අංකය එකකින් අඩු කරමින් යාමට ඉඩ දෙන්න.

Задание 3

ජනකයක් සාදන්න, එය පරාමිතියක් ලෙස අංකයක් පිළිගනී. පුනරාවර්තකයේ සෑම කැඳවීමක්ම අංකය දෙගුණයකින් අඩු කර ප්‍රතිඵලය ආපසු දෙමින් යාමට ඉඩ දෙන්න. අංකය එකකට වඩා අඩු වන තෙක් මෙසේ කරන්න.

Задание 4

පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම දෙකේ ඊළඟ බලය ආපසු දෙනු ඇත.

Задание 5

පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම ෆිබොනාච්චි අනුපිළිවෙලෙහි ඊළඟ අංකය ආපසු දෙනු ඇත.