কম্পিউটার টিউটোরিয়াল

JavaScript-এ অবজেক্টের প্রোপার্টি সংখ্যা গণনা করার পদ্ধতি

দুটি ভিন্ন মেথড দিয়ে JavaScript অবজেক্টের প্রোপার্টি সংখ্যা গণনা করার পদ্ধতি শিখুন।

JavaScript অবজেক্টের প্রোপার্টি সংখ্যা গণনা করতে আপনি বা তো ব্যবহার করতে পারেন:

  • একটি for লুপ
  • বা Object.keys() মেথড।

আসুন দুটোই এক্সপ্লোর করি!

for লুপ দিয়ে অবজেক্ট প্রোপার্টি গণনা

এখানে একটি JavaScript অবজেক্ট আছে নাম dog:

const dog = { name: "Naya", age: 2, color: "black", Breed: "Rottweiler mix", }

dog-এ অবজেক্ট প্রোপার্টি সংখ্যা গণনা করতে, প্রথমে একটি ভেরিয়েবল ডিক্লেয়ার করুন নাম count এবং সেটিকে শুরুতে 0 ভ্যালু দিন:

let count = 0

এখন আমাদের dog অবজেক্টটি লুপ করতে হবে এবং প্রতিটি প্রোপার্টি পাওয়ার জন্য count ভেরিয়েবলে এক (+ 1) যোগ করতে হবে:

for (let properties in dog) { count = count + 1 }

এখন console.log() ব্যবহার করে রেজাল্ট প্রিন্ট করার চেষ্টা করুন:

console.log(count) // রেজাল্ট: 4

আপনি কোডটি সঠিক লিখলে, আপনাকে 4 পাওয়া উচিত।

Object.keys() দিয়ে অবজেক্ট প্রোপার্টি গণনা

আপনি JavaScript-এর Object.keys() মেথডও ব্যবহার করতে পারেন একটি অবজেক্টের সকল এনিউমেরেবল প্রোপার্টি গণনা করতে (এর জন্য একটু পরে)۔

আগের dog অবজেক্টটি রিইউজ করি, কিন্তু এইবার আমরা dog অবজেক্টকে Object.keys()-এ পাস করি এবং এর লেংথ length প্রোপার্টি দিয়ে ক্যালকুলেট করি:

const dog = { name: "Naya", age: 2, color: "black", Breed: "Rottweiler mix", } let count = Object.keys(dog).length console.log(count) // রেজাল্ট: 4

যেনা আপনি দেখছেন, রেজাল্ট একই। বা সেটি?

হ্যাঁ এবং না। এটা কনটেক্সটের ওপর ডিপেন্ড করে।

for বনাম Object.keys()

for লুপ এবং Object.keys() ব্যবহার করার পার্থক্য হলো:

  • for লুপ অবজেক্টের প্রোপার্টি (এখানে, dog) এবং সেটির সাথে বাইরে লিংক করা যেকোনো প্রোপার্টি দুটোই গণনা করে।
  • ডিফল্টভাবে, Object.keys() মেথড শুধু অবজেক্টের নিজস্ব (own) এনিউমারেবল প্রোপার্টি গণনা করে — লিংকড প্রোপার্টি না।

এনিউমেরেশন হলো গণনা-এর অন্য একটি শব্দ।

"লিংকড প্রোপার্টি" বলতে আমি কী বুঝাই?

আগের Object.keys() উদাহরণটি নিই, কিন্তু এইবার dog অবজেক্টকে animal নামের একটি অবজেক্টের সাথে __proto__ প্রোপার্টি ব্যবহার করে লিংক করি:

// নতুন অবজেক্ট let animal = { fourLegs: true, } const dog = { name: "Naya", age: 2, color: "black", Breed: "Rottweiler mix", } // dog অবজেক্টকে animal অবজেক্টের সাথে লিংক করুন dog.__proto__ = animal var count = Object.keys(dog).length console.log(count) // রেজাল্ট: 4

রেজাল্ট ৪ কেন, যখন dog এবং animal-এর মোট প্রোপার্টি সংখ্যা ৫, এবং আমরা সেগুলো লিংক করে গণনা করলাম?

কারণ আমরা Object.keys() ব্যবহার করছি যা শুধু নিজস্ব (এনিউমেরেবল) প্রোপার্টি গণনা করে, লিংকড প্রোপার্টি না। তাই animal অবজেক্টের fourLegs প্রোপার্টি উপরের উদাহরণে গণনা হয়নি।

এখন আরেকটি উদাহরণ করি, কিন্তু এইবার for লুপ ব্যবহার করে প্রোপার্টি গণনা করি:

const animal = { fourLegs: true, } const dog = { name: "Naya", age: 2, color: "black", Breed: "Rottweiler mix", } // dog অবজেক্টকে animal অবজেক্টের সাথে লিংক করুন dog.__proto__ = animal let count = 0 for (properties in dog) { count = count + 1 } console.log(count) // রেজাল্ট: 5

এখন আমরা সকল ৫ প্রোপার্টি পাচ্ছি, কারণ Object.keys()-এর মত না, for লুপ ব্যবহার করলে আমরা একটি অবজেক্টের সকল প্রোপার্টি গণনা করি, লিংকড অবজেক্ট প্রোপার্টিওসহ।

যেনা আপনি দেখছেন, এটি ম্যাটার করে আপনি কোন অ্যাপ্রোচ ব্যবহার করছেন।

সংক্ষেপে:

  • অবজেক্টের প্রোপার্টি সংখ্যা গণনা করার দুটি পদ্ধতি আছে। আপনি for লুপ বা Object.keys() মেথড ব্যবহার করতে পারেন।
  • for লুপ ব্যবহার করুন যদি আপনি আপনার প্রোপার্টি কাউন্টে যেকোনো লিংকড অবজেক্ট প্রোপার্টি অন্তর্ভুক্ত করতে চান।
  • Object.keys() ব্যবহার করুন যদি আপনি শুধু এনিউমেরেবল প্রোপার্টি (অবজেক্টের নিজস্ব) গণনা করতে চান।
  1. জাভাস্ক্রিপ্টে অবজেক্ট প্রোপার্টি ডিলিট করা

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে থেকে নির্দিষ্ট প্রপার্টি-র অনন্য উপাদান গণনা

  3. C#-এ লিস্টের আইটেম সংখ্যা গণনা (Count Items in List)

  4. জাভাস্ক্রিপ্টে অবজেক্টের মানগুলো কীভাবে পাবেন?