জাভাস্ক্রিপ্টে continue ইনস্ট্রাকশন
একটি continue ইনস্ট্রাকশনও রয়েছে,
যা লুপের একটি নতুন পুনরাবৃত্তি শুরু করে। এই
ইনস্ট্রাকশনটি মাঝে মাঝে কোড সরলীকরণের জন্য
দরকারী হতে পারে, যদিও প্রায় সবসময় কাজটি
এটি ছাড়াও সমাধান করা যায়। আসুন একটি ব্যবহারিক
উদাহরণ দেখি।
ধরুন আমাদের একটি সংখ্যার অ্যারে দেওয়া হয়েছে। আসুন
এটি একটি লুপ দিয়ে পুনরাবৃত্তি করি এবং যেসব সংখ্যা
2 দ্বারা বিভাজ্য, তাদের বর্গ করি এবং
কনসোলে আউটপুট করি, এবং যেসব সংখ্যা 3
দ্বারা বিভাজ্য, তাদের ঘনক করি এবং কনসোলে আউটপুট করি। বর্ণিত কাজের সমাধান এখানে
রয়েছে:
javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
console.log(result);
} else if (elem % 3 === 0) {
result = elem * elem * elem;
console.log(result);
}
}
আপনি দেখতে পাচ্ছেন, লাইন console.log(result)
দুইবার পুনরাবৃত্তি হয়েছে। আসুন এটিকে
if এর বাইরে নিয়ে আসি, এভাবে:
javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 === 0) {
result = elem * elem;
} else if (elem % 3 === 0) {
result = elem * elem * elem;
}
console.log(result); // শর্তের বাইরে আউটপুট নিয়ে এসেছি
}
যাইহোক, এখন আমাদের স্ক্রিপ্ট কিছুটা
ভিন্নভাবে কাজ করে: দেখা যাবে যে সাধারণ উপাদানগুলির জন্যও,
যেগুলো আমাদের if এর মাধ্যমে প্রক্রিয়া করা হয়নি, সেগুলোর জন্যও
result ভেরিয়েবলটি
কনসোলে আউটপুট করা হবে, যা আমাদের কাজের শর্ত অনুসারে আমাদের
দরকার নেই।
সমস্যাটি ঠিক করি, আমাদের if এ
আরও একটি else শর্ত যোগ করে,
যা 2 এবং
3 দ্বারা বিভাজ্য নয় এমন উপাদানগুলির জন্য সক্রিয় হবে,
এবং সেখানে continue ইনস্ট্রাকশনটি কল করব,
যা অবিলম্বে আমাদেরকে
লুপের একটি নতুন পুনরাবৃত্তিতে নিয়ে যাবে:
javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for (let elem of arr) {
let result;
if (elem % 2 == 0) {
result = elem * elem;
} else if (elem % 3 == 0) {
result = elem * elem * elem;
} else {
continue; // লুপের নতুন পুনরাবৃত্তিতে চলে যাবে
}
console.log(result); // কার্যকর হবে যদি 2 বা 3 দ্বারা বিভাজ্য হয়
}
একটি লুপ লিখুন যা শুধুমাত্র
1 থেকে 100 পর্যন্ত জোড় সংখ্যাগুলি আউটপুট করবে,
বিজোড় সংখ্যাগুলি continue ব্যবহার করে এড়িয়ে যাবে।