JavaScript တွင် လေးလံသော လုပ်ဆောင်ချက်များ ထပ်ခါထပ်ခါ လုပ်ဆောင်ခြင်းကို အကောင်းဆုံးပြင်ဆင်ခြင်း
ယခင်သင်ခန်းစာက ဖန်ရှင်များကို ထပ်ခါထပ်ခါခေါ်ယူခြင်းသည် တကယ်တော့ အချိန်အလွန်နည်းပါးစွာသာ ယူပြီး ကျွန်ုပ်တို့၏ အကောင်းဆုံးပြင်ဆင်ခြင်းသည် အများကြီး ချွေတာပေးမည်မဟုတ်ပါ။ သို့သော်၊ အချိန်အတော်ကြာ လုပ်ဆောင်ရသော "လေးလံသည့်" ဖန်ရှင်ကို အကြိမ်များစွာ ခေါ်ယူမည်ဆိုပါက အခြေအနေသည် ပိုမိုဆိုးရွားလာပါမည်။
ဥပမာအားဖြင့်၊ ကိန်းတစ်ခု၏ စားလဒ်များကို ရှာဖွေပေးသော ဖန်ရှင်တစ်ခု ရှိသည်ဆိုပါစို့:
function getDivisorsSum(num) {
let res = 0;
for (let i = 1; i <= num; i++) {
if (num % i === 0) {
res += i;
}
}
return res;
}
ဤဖန်ရှင်သည် "လေးလံသည်" ဆိုသည်မှာ ထင်ရှားပါသည်။ ထို့ကြောင့် အောက်ပါကုဒ်ကို ရေးသားခြင်းသည် အယောင်ဆောင်သော စိတ်ကူးတစ်ခု ဖြစ်ပါမည်:
let num = 123456;
if (getDivisorsSum(num) >= 10 && getDivisorsSum(num) <= 100) {
console.log('+++');
} else {
console.log('---');
}
ပိုကောင်းတာကတော့၊ "လေးလံသော" လုပ်ဆောင်ချက်ကို တစ်ကြိမ်တည်း လုပ်ဆောင်ပြီး ရလဒ်ကို variable တစ်ခုထဲတွင် သိမ်းထားကာ ထို variable ကို လိုအပ်သော နေရာများတွင် အသုံးပြုခြင်း ဖြစ်ပါသည်:
let num = 123456;
let sum = getDivisorsSum(num);
if (sum >= 10 && sum <= 100) {
console.log('+++');
} else {
console.log('---');
}
အောက်ပါကုဒ်ကို အကောင်းဆုံးပြင်ဆင်ပါ:
let num = 1233456789;
if (getSumSquare(num) >= 10 && getSumSquare(num) <= 100) {
console.log('+++');
} else {
console.log('---');
}
function getSumSquare(num) {
let digits = String(num).split('');
let sum = 0;
for (let digit of digits) {
sum += digit ** 2;
}
return sum;
}