ජාවාස්ක්රිප්ට් හි පුණරාවර්තන තුළ return භාවිතය
return එක පුණරාවර්තනයක් තුළ පිහිටා ඇති බව සැමවිටම දෝෂයක් විය යුතු නොවේ. පහත උදාහරණයේ, අරාවේ මුල් මූලද්රව්ය කීයක් එකතු කළ යුතුද යන්න තීරණය කරන ශ්රිතයක් සාදා ඇත, එකතුව 10 ට වඩා වැඩි හෝ සමාන වන පරිදි:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// එකතුව 10 ට වඩා වැඩි හෝ සමාන නම්:
if (sum >= 10) {
return i + 1; // පුණරාවර්තනයෙන් සහ ශ්රිතයෙන් පිටවෙමු
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
පහත උදාහරණයේ, 1 ආරම්භ කරමින්, ප්රතිඵලය 100 ට වඩා වැඩි වන තෙක් පූර්ණ සංඛ්යා කීයක් එකතු කළ යුතුද යන්න ගණනය කරන ශ්රිතයක් සාදා ඇත:
function func() {
let sum = 0;
let i = 1;
while (true) { // අනන්ත පුණරාවර්තනය
sum += i;
if (sum >= 100) {
return i; // මෙතැනින් පිටවන තෙක් පුණරාවර්තනය කරයි
}
i++;
}
}
console.log( func() );
අංකයක් පරාමිතියක් ලෙස ලබාගන්නා ශ්රිතයක් ලියන්න, එය 2 මගින් බෙදන අතර ප්රතිඵලය 10 ට වඩා අඩු වන තෙක් එය කරයි. ශ්රිතය ප්රතිඵලය ලබා ගැනීම සඳහා අවශ්ය වූ පුනරාවර්තන සංඛ්යාව ආපසු ලබා දෙන්න.