জাভাস্ক্রিপ্টে Set কীভাবে ব্যবহার করবেন
আপনার কাছে এমন একটি ডেটা লিস্ট আছে যাতে শুধু یونিক (unique) মান থাকবে? তখন জাভাস্ক্রিপ্ট Set ডেটা টাইপ সবচেয়ে ভালো কাজ করে। এটি ECMAScript 6-এ যোগ করা একটি নতুন অবজেক্ট টাইপ যা ডুপ্লিকেট মান অনুমতি দেয় না।
Set কী?
Set হলো একটি মান সংগ্রহ যাতে ডুপ্লিকেট থাকতে পারে না। অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজেও Set ফিচার থাকে। অ্যারে (List) ডুপ্লিকেট অনুমতি দেয়, কিন্তু Set শুধু یونিক ভ্যালু রাখে।
Set ডিক্লেয়ার এবং ডিফল্ট মান দিয়ে ইনিশিয়ালাইজ
let cakes = new Set(); // খালি Set
let cake_list = ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake"];
let cakes = new Set(cake_list); // অ্যার থেকে Set তৈরি
console.log(cakes); // Set(3) {"Lemon Cake", "Carrot Cake", "Strawberry Cheesecake"}
Set-এ মান যোগ করা (add)
cakes.add("Boston Cream Pie");
console.log(cakes); // Set(4) {..., "Boston Cream Pie"}
ডুপ্লিকেট মান যোগ করলে সেটি যুক্ত হয় না।
মান আছে কিনা চেক করা (has)
var has_boston = cakes.has("Boston Cream Pie"); // true
মান মুছে ফেলা (delete / clear)
cakes.delete("Strawberry Cheesecake"); // নির্দিষ্ট মান মুছে ফেলা
cakes.clear(); // সব মান মুছে ফেলা
Set এর ওপর ইটারেট করা
cakes.forEach(cake => console.log(cake));
// বা
for (let cake of cakes) { console.log(cake); }
অ্যারে থেকে ডুপ্লিকেট সরিয়ে Set বানানো
var cakes = ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake", "Lemon Cake", "Chocolate Cake", "Chocolate Fudge Cake", "Chocolate Cake", "Red Velvet Cake"]; var unique_cakes = new Set(cakes); // ডুপ্লিকেট অটোমেটিক্যালি সরিয়ে যাবে let final_cakes = Array.from(unique_cakes); // আবার অ্যারে বানানো console.log(final_cakes); // ৬টি یونিক ভ্যালু
উপসংহার
Set অবজেক্ট শুধু ইউনিক ভ্যালু সংরক্ষণ করে। অ্যারে থেকে ডুপ্লিকেট সরাতে Set ব্যবহার করে আবার Array.from() দিয়ে অ্যারে বানানো যায়। এখন আপনি প্রোফেশনালের মত Set ব্যবহার করতে পারবেন!