JavaScript Set হলো একটি built-in object যা unique values সংরক্ষণ করতে ব্যবহার করা হয়। Set-এর সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এতে একই value একাধিকবার থাকলেও duplicate value রাখা হয় না। এই article-এ JavaScript Set তৈরি করা, value যোগ করা, remove করা, check করা এবং Set-এর গুরুত্বপূর্ণ methods উদাহরণসহ আলোচনা করা হয়েছে।
JavaScript Set কী?
JavaScript Set হলো এমন একটি collection যেখানে প্রতিটি value unique থাকে। একই value একাধিকবার add করলেও Set সেটিকে একবারই রাখে।
const letters = new Set(["a", "b", "c", "a"]);
console.log(letters);
Output:
Set(3) {"a", "b", "c"}
Set-এর মধ্যে duplicate value automatically remove হয়ে যায়। তাই unique data সংরক্ষণের জন্য Set খুবই useful।
Set তৈরি করার নিয়ম
new Set() ব্যবহার করে একটি empty Set তৈরি করা যায়। আবার Array দিয়েও সরাসরি Set তৈরি করা যায়।
const mySet = new Set();
const letters = new Set(["a", "b", "c"]);
console.log(letters);
Set-এর add() Method
add() method ব্যবহার করে Set-এর মধ্যে নতুন value যোগ করা হয়।
const fruits = new Set();
fruits.add("Apple");
fruits.add("Orange");
fruits.add("Mango");
console.log(fruits);
Duplicate Value যোগ করলে
const fruits = new Set();
fruits.add("Apple");
fruits.add("Apple");
fruits.add("Mango");
console.log(fruits);
Output:
Set(2) {"Apple", "Mango"}
এখানে "Apple" দুইবার add করা হলেও Set-এ একবারই থাকবে।
Info!
Set duplicate value সংরক্ষণ করে না। একই value আবার add করলে নতুন করে কোনো duplicate entry তৈরি হবে না।
Set-এর has() Method
has() method ব্যবহার করে কোনো value Set-এর মধ্যে আছে কি না check করা যায়। Result হবে true অথবা false।
const letters = new Set(["a", "b", "c"]);
console.log(letters.has("a"));
console.log(letters.has("d"));
Output:
true
false
Set-এর delete() Method
delete() method ব্যবহার করে Set থেকে একটি নির্দিষ্ট value remove করা যায়।
const letters = new Set(["a", "b", "c"]);
letters.delete("b");
console.log(letters);
Output:
Set(2) {"a", "c"}
Warning!
Set-এ value remove করার সময়delete()-এর ভিতরে যে value remove করতে চান সেটিই দিতে হবে।
Set-এর clear() Method
clear() method ব্যবহার করলে Set-এর সব value remove হয়ে যায়।
const letters = new Set(["a", "b", "c"]);
letters.clear();
console.log(letters);
Output:
Set(0) {}
Set-এর size Property
size property দিয়ে Set-এর মধ্যে মোট কতটি unique value আছে তা জানা যায়।
const letters = new Set(["a", "b", "c"]);
console.log(letters.size);
Output:
3
Info!
Array-এর ক্ষেত্রে item সংখ্যা বের করতেlengthব্যবহার করা হয়, কিন্তু Set-এর ক্ষেত্রেsizeব্যবহার করতে হয়।
Set-এর values() Method
values() method Set-এর সব value-এর একটি iterator return করে।
const letters = new Set(["a", "b", "c"]);
for (const value of letters.values()) {
console.log(value);
}
Output:
a
b
c
Set-এর keys() Method
Set-এর মধ্যে আলাদা key থাকে না। তাই Set-এর keys() method-ও Set-এর value-গুলো return করে।
const letters = new Set(["a", "b", "c"]);
for (const key of letters.keys()) {
console.log(key);
}
Output:
a
b
c
Info!
Set-এর ক্ষেত্রেkeys()এবংvalues()একই value return করে, কারণ Set-এ আলাদা key নেই।
Set-এর entries() Method
entries() method Set-এর প্রতিটি value-কে [value, value] pair হিসেবে return করে।
const letters = new Set(["a", "b", "c"]);
for (const entry of letters.entries()) {
console.log(entry);
}
Output:
["a", "a"]
["b", "b"]
["c", "c"]
Set-এর forEach() Method
forEach() method ব্যবহার করে Set-এর প্রতিটি value-এর উপর একই ধরনের কাজ করা যায়।
const letters = new Set(["a", "b", "c"]);
letters.forEach(function(value) {
console.log(value);
});
Output:
a
b
c
Set-এর for...of Loop
for...of loop ব্যবহার করে Set-এর প্রতিটি value একে একে পাওয়া যায়।
const letters = new Set(["a", "b", "c"]);
for (const value of letters) {
console.log(value);
}
Set-এর union() Method
union() method দুইটি Set-এর সব unique value একসাথে একটি নতুন Set হিসেবে return করে।
const A = new Set(["a", "b", "c"]);
const B = new Set(["b", "c", "d"]);
const C = A.union(B);
console.log(C);
Result:
Set(4) {"a", "b", "c", "d"}
Set-এর intersection() Method
intersection() method দুইটি Set-এর মধ্যে common value-গুলো return করে।
const A = new Set(["a", "b", "c"]);
const B = new Set(["b", "c", "d"]);
const C = A.intersection(B);
console.log(C);
Result:
Set(2) {"b", "c"}
Set-এর difference() Method
difference() method প্রথম Set-এ আছে কিন্তু দ্বিতীয় Set-এ নেই—এমন value return করে।
const A = new Set(["a", "b", "c"]);
const B = new Set(["b", "c", "d"]);
const C = A.difference(B);
console.log(C);
Result:
Set(1) {"a"}
Set-এর symmetricDifference() Method
symmetricDifference() method দুই Set-এর common value বাদ দিয়ে শুধু আলাদা value-গুলো return করে।
const A = new Set(["a", "b", "c"]);
const B = new Set(["b", "c", "d"]);
const C = A.symmetricDifference(B);
console.log(C);
Result:
Set(2) {"a", "d"}
Set-এর isSubsetOf() Method
isSubsetOf() check করে প্রথম Set-এর সব value দ্বিতীয় Set-এর মধ্যে আছে কি না।
const A = new Set(["b", "c"]);
const B = new Set(["a", "b", "c"]);
console.log(A.isSubsetOf(B));
Output:
true
Set-এর isSupersetOf() Method
isSupersetOf() check করে দ্বিতীয় Set-এর সব value প্রথম Set-এর মধ্যে আছে কি না।
const A = new Set(["a", "b", "c"]);
const B = new Set(["b", "c"]);
console.log(A.isSupersetOf(B));
Output:
true
Set-এর isDisjointFrom() Method
isDisjointFrom() check করে দুইটি Set-এর মধ্যে কোনো common value আছে কি না। Common value না থাকলে true return করে।
const A = new Set(["a", "b"]);
const B = new Set(["c", "d"]);
console.log(A.isDisjointFrom(B));
Output:
true
JavaScript Set-এর গুরুত্বপূর্ণ Methods
| Method / Property | কাজ | Result |
|---|---|---|
add() |
Set-এ value যোগ করে | Set |
has() |
Value আছে কি না check করে | true / false |
delete() |
একটি value remove করে | true / false |
clear() |
সব value remove করে | Empty Set |
values() |
সব value-এর iterator দেয় | Iterator |
keys() |
Set-এর value iterator দেয় | Iterator |
entries() |
Value pair iterator দেয় | [value, value] |
forEach() |
প্রতিটি value-এর উপর function চালায় | Each Value |
union() |
দুই Set-এর unique value এক করে | New Set |
intersection() |
Common value বের করে | New Set |
difference() |
প্রথম Set-এর আলাদা value বের করে | New Set |
symmetricDifference() |
Common বাদ দিয়ে আলাদা value দেয় | New Set |
isSubsetOf() |
Subset কি না check করে | true / false |
isSupersetOf() |
Superset কি না check করে | true / false |
isDisjointFrom() |
Common value নেই কি না check করে | true / false |
size |
মোট unique value সংখ্যা | Number |
Set এবং Array-এর পার্থক্য
| বিষয় | Set | Array |
|---|---|---|
| Duplicate | Duplicate value রাখে না | Duplicate value রাখতে পারে |
| Index | Index নেই | Index আছে |
| Size | size |
length |
| Check | has() |
includes() |
| Unique Data | Unique data-এর জন্য উপযোগী | সাধারণ list-এর জন্য উপযোগী |
JavaScript Set-এর Complete Example
const fruits = new Set(["Apple", "Orange", "Mango"]);
fruits.add("Banana");
console.log(fruits.has("Apple"));
fruits.delete("Orange");
console.log(fruits.size);
for (const fruit of fruits) {
console.log(fruit);
}
JavaScript Set শেখার ধাপ
new Set()দিয়ে Set তৈরি করা শিখুন।add()দিয়ে value যোগ করুন।has()দিয়ে value check করুন।delete()দিয়ে value remove করুন।clear()দিয়ে সব value remove করুন।sizeদিয়ে Set-এর value সংখ্যা বের করুন।forEach()এবংfor...ofদিয়ে Set iterate করুন।keys(),values()এবংentries()practice করুন।union(),intersection()এবংdifference()practice করুন।isSubsetOf(),isSupersetOf()এবংisDisjointFrom()বুঝে ব্যবহার করুন।
Warning!
Set-এর method এবং property case-sensitive। তাইSet,add(),has(),delete()ইত্যাদি সঠিকভাবে লিখতে হবে।
add(), has(), delete(), clear(), size, forEach() এবং Set Logic methods ভালোভাবে practice করলে JavaScript Set-এর basic concept পরিষ্কার হয়ে যাবে।
letters[0] Set-এর প্রথম value পাওয়ার সঠিক পদ্ধতি নয়।
উপসংহার
JavaScript Set unique values সংরক্ষণ এবং duplicate data এড়ানোর জন্য খুবই useful একটি data structure। add(), has(), delete(), clear(), forEach(), values(), entries() এবং Set Logic methods নিয়মিত practice করলে JavaScript Set সম্পর্কে ভালো ধারণা তৈরি হবে।