জাভাস্ক্রিপ্ট অবজেক্ট সেট (JS Object Set)

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট অবজেক্ট (JS Object) |
301
301

জাভাস্ক্রিপ্টে Set হল এমন একটি ডেটা স্ট্রাকচার যা অদ্বিতীয় (unique) উপাদানগুলো সংরক্ষণ করে। Set-এ কোনো একটি উপাদান একবারের বেশি উপস্থিত থাকতে পারে না। এটি বিভিন্ন ধরনের ডেটা যেমন স্ট্রিং, নাম্বার, অবজেক্ট ইত্যাদি ধারণ করতে পারে। যদিও Set সাধারণত অ্যারে বা প্রাথমিক ডেটা টাইপের জন্য ব্যবহৃত হয়, তবে আপনি অবজেক্টকেও Set-এর উপাদান হিসেবে ব্যবহার করতে পারেন।

এটি ইটারেবল, অর্থাৎ for...of লুপের মাধ্যমে এর উপাদানগুলো পুনরাবৃত্তি করা সম্ভব।


Set এর মূল বৈশিষ্ট্য

  • অদ্বিতীয় উপাদান: Set-এ একই উপাদান একাধিকবার উপস্থিত থাকতে পারে না।
  • ইটারেবল: Set একটি ইটারেবল অবজেক্ট, তাই এর উপাদানগুলোর উপর পুনরাবৃত্তি করা যায়।
  • পুনরাবৃত্তি সক্ষমতা: for...of লুপ, forEach() মেথড, অথবা অন্যান্য ইটারেটর মেথডের মাধ্যমে Set-এর উপাদান পুনরাবৃত্তি করা যায়।

Set এর মাধ্যমে অবজেক্ট সংরক্ষণ

আপনি অবজেক্টকে Set-এর উপাদান হিসেবে সংরক্ষণ করতে পারেন, কিন্তু কিছু পয়েন্ট মনে রাখা প্রয়োজন:

  • একে অপরের সাথে তুলনা করতে, জাভাস্ক্রিপ্ট Set একই অবজেক্টের রেফারেন্স মূল্যায়ন করে, তাই দুটি আলাদা অবজেক্ট একই তথ্য ধারণ করলেও সেগুলো আলাদা হিসাবে গণ্য হবে।
  • একই অবজেক্টকে Set-এর মধ্যে একাধিকবার যোগ করা যাবে না।

উদাহরণ: অবজেক্টের সাথে Set ব্যবহার

const person1 = { name: "Alice", age: 25 };
const person2 = { name: "Bob", age: 30 };
const person3 = { name: "Charlie", age: 35 };

const set = new Set();

// অবজেক্ট যোগ করা
set.add(person1);
set.add(person2);
set.add(person3);

// একই অবজেক্ট আবার যোগ করা
set.add(person1);  // Set-এ এটি পুনরায় যোগ হবে না কারণ এটি পূর্বেই যোগ করা হয়েছে

// Set-এর উপাদানগুলো প্রদর্শন করা
for (let person of set) {
    console.log(person.name);
}

আউটপুট:

Alice
Bob
Charlie

এখানে, person1 অবজেক্ট প্রথমবার যোগ করার পর সেটি আবার একই person1 রেফারেন্সের সাথে যোগ করার চেষ্টা করা হয়। তবে, সেটি Set-এ পুনরায় যোগ হয় না কারণ Set-এ একে অপরের সাথে তুলনা করে এটি একটি ইউনিক রেফারেন্স হিসেবেই থাকে।


Set-এর অন্যান্য মেথড

Set-এর কিছু সাধারণ মেথড রয়েছে যা ব্যবহার করে অবজেক্টসহ বিভিন্ন ডেটা পরিচালনা করা যায়।

add(value)

এই মেথড একটি নতুন উপাদান Set-এ যোগ করে।

const set = new Set();
set.add({ name: "John", age: 22 });
set.add({ name: "Jane", age: 28 });

has(value)

এই মেথডটি পরীক্ষা করে যে, Set-এ কোনো নির্দিষ্ট উপাদান আছে কি না।

const set = new Set();
const person = { name: "John", age: 22 };

set.add(person);

console.log(set.has(person)); // আউটপুট: true

delete(value)

এই মেথডটি Set থেকে একটি নির্দিষ্ট উপাদান মুছে ফেলে।

set.delete(person); // 'person' অবজেক্টটি Set থেকে মুছে ফেলা হবে

lear()

এই মেথডটি Set-এর সব উপাদান মুছে ফেলে।

set.clear(); // সব উপাদান মুছে ফেলবে

size

এই প্রপার্টি Set-এ মোট উপাদানের সংখ্যা জানায়।

console.log(set.size);  // Set-এ মোট উপাদান সংখ্যা

অবজেক্টগুলির সাথে Set ব্যবহার করা - স্মার্ট উপায়

এটি লক্ষ্য করা গুরুত্বপূর্ণ যে, Set-এ যখন অবজেক্ট যোগ করা হয়, তখন অবজেক্টের রেফারেন্স মূল্যায়ন করা হয়, এবং একই রেফারেন্সের দুটি অবজেক্ট একবারের বেশি Set-এ থাকলে, এটি দুটি আলাদা উপাদান হিসেবে গণ্য হবে।

উদাহরণ: অবজেক্টের রেফারেন্স দিয়ে কাজ করা

const person1 = { name: "Alice", age: 25 };
const person2 = person1;  // person1-এর রেফারেন্স কপি করা হচ্ছে

const set = new Set();
set.add(person1);
set.add(person2);  // এটি person1-এর মতোই রেফারেন্স, তাই Set-এ এটি ইতিমধ্যেই উপস্থিত

console.log(set.size);  // আউটপুট: 1

এখানে, person2 আসলে person1 এর রেফারেন্স, তাই এটি Set-এ পুনরায় যোগ হবে না এবং set.size এর আউটপুট হবে ১।


সারাংশ

জাভাস্ক্রিপ্টের Set একটি শক্তিশালী ডেটা স্ট্রাকচার যা শুধুমাত্র ইউনিক উপাদান সংরক্ষণ করে এবং অবজেক্টগুলোকেও এতে রাখা সম্ভব। তবে, Set রেফারেন্সের ভিত্তিতে উপাদানগুলো তুলনা করে, তাই একই রেফারেন্সের দুটি অবজেক্ট Set-এ একাধিকবার থাকতে পারে না। Set-এর বিভিন্ন মেথড যেমন add(), has(), delete(), এবং clear() ব্যবহারের মাধ্যমে এটি বিভিন্ন ডেটা পরিচালনা করা যায়। Set, ইটারেবল হওয়ায় এটি সহজে পুনরাবৃত্তি করা যায়, যা কোড লেখার সময় আরও কার্যকরী হতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion