JavaScript හි ධජ කළමනාකරණය
දැන් අපි ධජ සමඟ වැඩ කිරීම ඉගෙන ගනිමු.
ධජයක් යනු විශේෂ විචල්යයකි, එය
ගත හැක්කේ අගයන් දෙකක් පමණි: true
සහ false. ධජ භාවිතයෙන් යමක් නොමැතිකම
පරීක්ෂා කරන ගැටළු විසඳිය හැකිය:
උදාහරණයක් ලෙස, අරාවක
තිබේද යන්න පරීක්ෂා කළ හැකිය
නිශ්චිත අගයක් සහිත මූලද්රව්යයක්. අපි
ආරම්භ කරමු.
පහත ගැටළුව විසඳමු: සංඛ්යා සහිත අරාවක්,
එහි තිබේදැයි පරීක්ෂා කළ යුතුය
3 අගය සහිත මූලද්රව්යයක් හෝ නැත. අග
තිබේ නම් - '+++' ප්රතිදානය කරන්න,
නැතිනම් -
'---' ප්රතිදානය කරන්න.
පළමුව, අපි '+++' ප්රතිදානය කිරීමට උත්සාහ කරමු.
මේ සඳහා අපගේ අරාවේ සියලුම මූලද්රව්ය හරහා ගමන් කරමු
සහ if වත්මන් මූලද්රව්යය
3 අගයට සමාන දැයි අසනු ඇත. සමාන නම්, ප්රතිදානය කරන්න
'+++':
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
}
}
නමුත් අපගේ විසඳුම හොඳ නැත: මන්ද අග
3 එකක් නොවන අරාවක තිබේ නම්,
නමුත් කිහිපයක්, එවිට '+++' කිහිප වතාවක් ප්රතිදානය වේ.
අපගේ අරාව නිවැරදි කරමු (කරමු
අගය 3 සහිත මූලද්රව්ය දෙකක්) සහ එය විශ්වාස කර ගනිමු:
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // කිහිප වතාවක් ප්රතිදානය කරයි
}
}
ගැටළුව නිවැරදි කරමු: භාවිතා කරමින් චක්රය අවසන් කරමු
break, මූලද්රව්යය දැනටමත් හමු වී ඇත්නම්:
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
break; // චක්රය අවසන් කරන්න
}
}
දැන් අපි එය කිරීමට උත්සාහ කරමු, එවිට,
අරාවේ කිසිදු මූලද්රව්යයක් අගය
3 නොමැති නම්, '---' ප්රතිදානය වේ. පොදු
ව්යාකූලත්වය වනුයේ අපගේ if එකට else එකතු කිරීමයි -
මෙම අවස්ථාවේ දී '---' වේ
3 නොවන සියලුම මූලද්රව්ය සඳහා ප්රතිදානය වේ:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // මූලද්රව්ය 3 දී ප්රතිදානය කරයි
} else {
console.log('---'); // මූලද්රව්ය 1, 2, 4, 5 දී ප්රතිදානය කරයි
}
}
එබැවින්, else එකතු කිරීමේ අදහස - නරක
අදහසක්, ක්රියා නොකරන. මෙවැනි වර්ගයේ ගැටළු විසඳීම සඳහා
(එවැනි කාර්යයන් බොහෝ විට හමු වේ) ධජ යනුවෙන් හැඳින්වෙන දේ භාවිතා කරයි.
ඉහත සඳහන් කර ඇති පරිදි, ධජයක් යනු එවැනි දෙයකි
විචල්යයක්, එයට අගයන් දෙකක් ගත හැකිය:
true හෝ false.
එබැවින්, අපි flag විචල්යයක් සාදමු
එවැනි අගයක් සහිතව: එය true ට සමාන නම්,
එවිට අරාවේ 3 මූලද්රව්යයක් ඇත, නමුත් එසේ නම්
false, එවිට එවැනි මූලද්රව්යයක් නොමැත.
ආරම්භයේදී flag විචල්යය සකසමු
false අගයට - එනම්, අපි සලකමු,
3 මූලද්රව්යය අරාවේ නොමැති බව:
let arr = [1, 2, 3, 4, 5];
let flag = false; // අරාවේ මූලද්රව්ය 3 නොමැතැයි අපි සලකමු
පසුව අපි කලින් කළ ආකාරයටම චක්රයක් if සමඟ ආරම්භ කරමු.
චක්රය අරාවේ දෙයාකාරයෙන් හමු වුවහොත්
මූලද්රව්ය 3 ඇත - එවිට flag විචල්යය සකසන්න
true අගයට සහ චක්රයෙන් පිටවීම
break සමඟ:
let arr = [1, 2, 3, 4, 5];
let flag = false; // අරාවේ මූලද්රව්ය 3 නොමැතැයි අපි සලකමු
for (let elem of arr) {
if (elem == 3) {
flag = true; // මූලද්රව්යය ඇත - flag විචල්යය නැවත අර්ථ දැක්වීම
break; // චක්රයෙන් පිටවෙන්න
}
}
ප්රශ්නයට පිළිතුර, අරාවේ 3
ඇත්ද නැද්ද, අපට ලබා දිය හැක්කේ චක්රයෙන් පසුව පමණි.
මෙම පිළිතුර දැනටමත් අප සතුව ඇත: චක්රයෙන් පසුව
flag විචල්යය false ලෙස පැවතිය හැකිය
හෝ එහි අගය true ලෙස වෙනස් කළ හැකිය,
චක්රය අරාවේ 3 හමු වුවහොත්:
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
// මෙහි flag විචල්යය true හෝ false වේ
දැන් චක්රයෙන් පසුව අපට if කරන්න පුළුවන්,
එය flag විචල්යය දෙස බලා ප්රතිදානය කරයි
තිරය මත '+++' හෝ '---':
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
if (flag === true) {
console.log('+++');
} else {
console.log('---');
}
අරාවක් ලබා දී ඇත:
let arr = ['a', 'b', 'c', 'd', 'e'];
මෙම අරාවේ මූලද්රව්යයක් ඇත්දැයි පරීක්ෂා කරන්න
'c'. තිබේ නම් - '+++' ප්රතිදානය කරන්න,
කේතයක් ලියන්න, එය පරීක්ෂා කරනු ඇත එය ප්රථමක ද නැද්ද යන්න. ප්රථමක සංඛ්යා එකකින් පමණක් බෙදිය හැකිය