ජාවාස්ක්රිප්ට් හි ජනන ශ්රිත තුළ ලූප
ජනන ශ්රිත තුළ ලූප භාවිතා කළ හැකිය.
මෙමගින් අපට yield භාවිතයෙන් ලූප
තාවකාලිකව නතර කළ හැකිය. අපි උදාහරණයක්
මගින් බලමු. අපි සෑම පුනරාවර්තනයක්ම
තාවකාලිකව නතර කරමු:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
පුනරාවර්තකය ලබා ගනිමු:
let iter = func();
අපගේ පුනරාවර්තකයේ ක්රියාකාරිත්වය පරීක්ෂා කරමු:
console.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}
පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම
10 සිට ශුන්යය දක්වා අංක
ආපසු දෙනු ඇත.
ජනකයක් සාදන්න, එය පරාමිතියක් ලෙස අංකයක් පිළිගනී. පුනරාවර්තකයේ සෑම කැඳවීමක්ම ශුන්යයට ළඟා වන තෙක් අංකය එකකින් අඩු කරමින් යාමට ඉඩ දෙන්න.
ජනකයක් සාදන්න, එය පරාමිතියක් ලෙස අංකයක් පිළිගනී. පුනරාවර්තකයේ සෑම කැඳවීමක්ම අංකය දෙගුණයකින් අඩු කර ප්රතිඵලය ආපසු දෙමින් යාමට ඉඩ දෙන්න. අංකය එකකට වඩා අඩු වන තෙක් මෙසේ කරන්න.
පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම දෙකේ ඊළඟ බලය ආපසු දෙනු ඇත.
පුනරාවර්තකයක් සාදන්න, එහි සෑම කැඳවීමක්ම ෆිබොනාච්චි අනුපිළිවෙලෙහි ඊළඟ අංකය ආපසු දෙනු ඇත.