জাভাস্ক্রিপ্ট ইএস৬(ES6) এ নতুন একটি লুপের সাথে পরিচয় করিয়ে দেওয়া হয়েছে যার নাম for...of
লুপ । এই for...of
লুপের সাহায্যে খুব সহজেই অ্যারে(array), সেট(set), ম্যাপ(map), স্ট্রিং(string) ইত্যাদিকে ইটারেট করা যায় ।
জাভাস্ক্রিপ্ট for...of
লুপ সিনট্যাক্স :-
for (item of iterable) {
// body of for...of
}
এখানে,
- iterable হলো যেকোনো একটি ইটারেবল(iterable) অবজেক্ট যেমন - অ্যারে(array), সেট(set), স্ট্রিং(string) ইত্যাদি ।
- item হলো ইটারেবল(iterable) অবজেক্টের ভ্যালু ।
এখন আমরা for...of
লুপের ইউসকেস দেখবো অর্থাৎ এটি কিভাবে কাজ করে -
for...of with Arrays
কোনো একটা অ্যারেকে ইটারেট করার প্রয়োজন হলে আমরা for...of
ব্যাবহার করতে পারি যেমন :-
// array
const friends = ['shakil', 'torikus', 'fahim'];
// using for...of
for ( let item of friends ) {
// display the values
console.log(item);
}
OUTPUT :-
shakil
torikus
fahim
উপরের প্রোগ্রামে friends
আরেকে ইটারেট করা হয়েছে অর্থাৎ অ্যারের ভেতর লুপ থ্রো করা হয়েছে যা অ্যারের লেন্থ পর্যন্ত চলবে । এবং item of friends
এই লাইনে item নামে একটা ভ্যারিয়েবল নেওয়া হয়েছে যা friends
আরের ভ্যালুকে নির্দেশ করে ।
প্রত্যেকবার লুপটি ইটারেট করার সময় কনসোলে item কে লগ করে যার ফলে উপরোক্ত আউটপুট পেয়েছি । শেষে এটি অ্যারের লেন্থ পর্যন্ত চলে ইটেরেশনকে বন্ধ করে দেয় ।
for...of with Strings :-
for...of
লুপ আমরা স্ট্রিং(String) কে ইটারেট করতেও ব্যাবহার করতে পারি যেমন :-
// string
const name = 'babu';
// using for...of loop
for (let i of name) {
console.log(i);
}
OUTPUT :-
b
a
b
u
অ্যারের মতো সেইমভাবে স্ট্রিং ও ইটারেট করা হয়েছে । এখানে i
স্ট্রিং এর প্রত্যেকটা ভালুকে নির্দেশ করে যার ফলে আমরা উপরোক্ত আউটপুট পেয়েছি ।
for...of with Sets :-
আমরা Set
এর এলিমেন্টস গুলোকে ইটারেট করতে পারি সেইম ভাবে for...of
লুপ ইউস করে যেমন :-
// define Set
const set = new Set([1, 2, 3]);
// looping through Set
for (let i of set) {
console.log(i);
}
OUTPUT :-
1
2
3
সেইম ভাবে এখানে i
Set
এর প্রত্যেকটা এলিমেন্ট বা ভ্যালুকে নির্দেশ করে যার প্রমাণসরূপ প্রোগ্রামের আউটপুট ।
for...of with Maps:-
আমরা সেইমভাবে Map
এলিমেন্টস ইটারেট করতে পারি for...of
লুপ ইউস করে যেমন :-
// define Map
let map = new Map();
// inserting elements
map.set('name', 'Jack');
map.set('age', '27');
// looping through Map
for (let [key, value] of map) {
console.log(key + '- ' + value);
}
OUTPUT :-
name- Jack
age- 27
আশা করি বুঝতে পারছেন ।
======== শেষের কথা ========
for...of
লুপ ইউস করা হয় শুধুমাত্র ইটারেবল(iterable) অব্জেক্টসের ভ্যালুসমূহ কে ইটারেট করতে ।- যদি কোনো ইটারেবল(iterable) অব্জেক্টসের ইনডেক্স নিয়ে কাজ করার দরকার পরে তাহলে এই লুপ ইউস না করায় ভালো ।
for...of
লুপ অবজেক্টের(object) সাথে ইউস করা যায় নাহ ।
0 comments:
Post a Comment