ES6-এ দুটি নতুন ডাটা স্ট্রাকচার Set এবং Map যোগ করা হয়েছে, যা Array এবং Object থেকে কিছু পার্থক্য নিয়ে আসে এবং কিছু নতুন কার্যকারিতা প্রদান করে। এই নতুন স্ট্রাকচারগুলো অর্ডার বজায় রাখা, unique elements রাখা এবং key-value পেয়ার দিয়ে ডেটা সঞ্চয়ের সুবিধা দেয়। নিচে Set এবং Map এর কিছু গুরুত্বপূর্ণ মেথড এবং তাদের ব্যবহারের পদ্ধতি আলোচনা করা হলো।
1. Set
Set একটি বিশেষ ধরনের ডাটা স্ট্রাকচার, যেখানে শুধুমাত্র unique values রাখা হয়। এর মানে হল যে, সেটে একই মান একাধিকবার থাকতে পারে না।
Set এর মেথড:
add(value): একটি নতুন মান set-এ যোগ করে। এটি যদি একই মান থাকে, তবে সেটি আর যোগ করা হবে না।const numbers = new Set(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); // Duplicate, will not be added console.log(numbers); // Set { 1, 2, 3 }has(value): চেক করে যে, একটি নির্দিষ্ট মান set-এ আছে কিনা।console.log(numbers.has(2)); // true console.log(numbers.has(4)); // falsedelete(value): একটি নির্দিষ্ট মান set থেকে মুছে ফেলে।numbers.delete(2); console.log(numbers); // Set { 1, 3 }clear(): set-এর সব মান মুছে ফেলে।numbers.clear(); console.log(numbers); // Set {}size: set-এ কতগুলো উপাদান আছে তা জানাতে ব্যবহৃত হয়।numbers.add(1).add(2).add(3); console.log(numbers.size); // 3forEach(callback): set এর প্রতিটি উপাদান এর উপর কার্যকরী ফাংশন প্রয়োগ করতে ব্যবহার করা হয়।numbers.forEach((value) => { console.log(value); // 1, 2, 3 });
2. Map
Map একটি key-value পেয়ার ডাটা স্ট্রাকচার, যেখানে প্রতিটি key এর সাথে একটি মান (value) যুক্ত থাকে। Map-এ unique keys থাকতে হয়, এবং keys যেকোনো ডাটা টাইপ হতে পারে (অথবা অবজেক্টও হতে পারে)।
Map এর মেথড:
set(key, value): একটি নতুন key-value পেয়ার map-এ যোগ করে। যদি key ইতোমধ্যে থাকে, তবে তার মান আপডেট হয়।const user = new Map(); user.set('name', 'John'); user.set('age', 30); console.log(user); // Map { 'name' => 'John', 'age' => 30 }get(key): নির্দিষ্ট key-এর সাথে যুক্ত value পায়।console.log(user.get('name')); // "John" console.log(user.get('age')); // 30has(key): চেক করে যে, একটি নির্দিষ্ট key map-এ আছে কিনা।console.log(user.has('name')); // true console.log(user.has('address')); // falsedelete(key): একটি নির্দিষ্ট key-value পেয়ার map থেকে মুছে ফেলে।user.delete('age'); console.log(user); // Map { 'name' => 'John' }clear(): map-এর সব key-value পেয়ার মুছে ফেলে।user.clear(); console.log(user); // Map {}size: map-এ কতগুলো key-value পেয়ার আছে তা জানাতে ব্যবহৃত হয়।user.set('name', 'John').set('age', 30); console.log(user.size); // 2forEach(callback): map এর প্রতিটি key-value পেয়ার এর উপর কার্যকরী ফাংশন প্রয়োগ করতে ব্যবহৃত হয়।user.forEach((value, key) => { console.log(`${key}: ${value}`); // name: John, age: 30 });keys(): map এর সব key রিটার্ন করে।const keys = user.keys(); console.log([...keys]); // ['name', 'age']values(): map এর সব value রিটার্ন করে।const values = user.values(); console.log([...values]); // ['John', 30]entries(): map এর সব key-value পেয়ার রিটার্ন করে।const entries = user.entries(); console.log([...entries]); // [['name', 'John'], ['age', 30]]
Set এবং Map এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Set | Map |
|---|---|---|
| উপাদানের ধরন | শুধুমাত্র unique values | key-value pairs |
| key | থাকে না, শুধুমাত্র values থাকে | থাকে, এবং key যেকোনো ডাটা টাইপ হতে পারে |
| ডুপ্লিকেট উপাদান | ডুপ্লিকেট মান থাকতে পারে না | ডুপ্লিকেট key থাকতে পারে না |
| পদ্ধতি | add(), has(), delete(), clear(), size | set(), get(), has(), delete(), clear(), size |
| অর্ডার | উপাদানগুলি ইনসার্ট অর্ডারে থাকে | key-value পেয়ারগুলি ইনসার্ট অর্ডারে থাকে |
সারাংশ
Set এবং Map হল ES6 এর নতুন ডাটা স্ট্রাকচার যা Array এবং Object থেকে কিছু পার্থক্য নিয়ে এসেছে। Set শুধুমাত্র unique values রাখে এবং Map key-value pairs রাখে। Set এর কিছু সাধারণ মেথড যেমন add(), has(), delete(), এবং Map এর set(), get(), has() মেথড আপনাকে ডাটা পরিচালনার সহজ এবং কার্যকর উপায় দেয়।
Read more