জাভাস্ক্রিপ্টে ফাংশনে ফ্ল্যাগের অনুপস্থিতির ত্রুটি
ধরুন আমরা একটি ফাংশন তৈরি করতে চাই, যেটি প্যারামিটার হিসেবে নেবে একটি অঙ্ক এবং একটি সংখ্যা, এবং যাচাই করবে সংখ্যাটিতে নির্দিষ্ট অঙ্কটি আছে কিনা:
function func(needle, num) {
// এখানে কোড থাকবে
}
আমরা আমাদের ফাংশনটি এইভাবে ব্যবহার করব:
console.log(func('3', '12345')); // true আউটপুট দেবে
একজন প্রোগ্রামার এই সমস্যার সমাধান লিখেছেন:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
} else {
return false;
}
}
}
যাইহোক, এই সমাধানটি সঠিকভাবে কাজ করে না।
সমস্যাটি হল যে লুপটিতে একটি শর্ত লেখা হয়েছে,
যেখানে প্রথম ইটারেশনেই
একটি return এক্সিকিউট হবে,
বা অন্যটি, যার ফলে লুপ এবং ফাংশন উভয় থেকেই
প্রস্থান করা হবে।
আসুন আমরা আমাদের কোডটি সঠিকভাবে পুনরায় লিখি, ব্যবহার করে ফাংশনে অন্তর্নিহিত ফ্ল্যাগ:
function func(needle, num) {
for (let digit of num) {
if (digit === needle) {
return true;
}
}
return false;
}