কম্পিউটার

একটি জাভাস্ক্রিপ্ট অবজেক্টে বৈশিষ্ট্যের সংখ্যা কীভাবে গণনা করবেন

একটি জাভাস্ক্রিপ্ট অবজেক্টে দুটি ভিন্ন পদ্ধতির সাথে কিভাবে বৈশিষ্ট্যের সংখ্যা গণনা করতে হয় তা শিখুন।

জাভাস্ক্রিপ্ট অবজেক্ট বৈশিষ্ট্যের সংখ্যা গণনা করতে, আপনি হয় ব্যবহার করতে পারেন:

  • a for লুপ
  • অথবা Object.keys() পদ্ধতি।

চলুন তাদের দুজনকেই অন্বেষণ করি!

লুপের জন্য a দিয়ে বস্তুর বৈশিষ্ট্য গণনা করুন

এখানে 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)
// Result: 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)
// Result: 4

আপনি দেখতে পাচ্ছেন, ফলাফল একই। নাকি এটা?

হ্যা এবং না. এটা প্রেক্ষাপটের উপর নির্ভর করে।

বনাম Object.keys() এর জন্য

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

  • for লুপ বস্তুর উভয় বৈশিষ্ট্য গণনা করে (এখানে, dog ) এবং যে কোনো বৈশিষ্ট্য যা এর বাইরের বস্তুর সাথে সংযুক্ত হতে পারে।
  • ডিফল্টরূপে, Object.keys() পদ্ধতি শুধুমাত্র বস্তুর (নিজস্ব) গণনার বৈশিষ্ট্যগুলিকে গণনা করে (গণনা করে) - লিঙ্কযুক্ত বৈশিষ্ট্য নয়৷

গণনা গণনা এর আরেকটি শব্দ

আমি "লিঙ্কড প্রপার্টি" বলতে কি বুঝি?

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

// New object
let animal = {
  fourLegs: true,
}

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

// Link dog object to animal object
dog.__proto__ = animal

var count = Object.keys(dog).length
console.log(count)
// Result: 4

ফলাফল কেন 4, যখন dog এর মোট বৈশিষ্ট্যের সংখ্যা এবং animal 5, এবং আমরা শুধু তাদের একসাথে লিঙ্ক করেছি এবং তাদের গণনা করেছি?

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

এখন আরেকটি উদাহরণ চেষ্টা করা যাক, কিন্তু এবার আমরা for ব্যবহার করি বৈশিষ্ট্য গণনা করার জন্য লুপ:

const animal = {
  fourLegs: true,
}

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

// Link dog object to animal object
dog.__proto__ = animal

let count = 0

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

console.log(count)
// Result: 5

এখন আমরা 5টি বৈশিষ্ট্যই পাচ্ছি, কারণ Object.keys() এর বিপরীতে যখন আমরা একটি for ব্যবহার করি লুপ আমরা প্রতিটি গণনা করি লিঙ্কড সহ একটি বস্তুর সম্পত্তি বস্তুর বৈশিষ্ট্য।

আপনি দেখতে পাচ্ছেন, আপনি কোন পদ্ধতিটি ব্যবহার করেন তা গুরুত্বপূর্ণ৷

সারাংশে:

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

  1. জাভাস্ক্রিপ্টে অবজেক্টের বৈশিষ্ট্যগুলি কীভাবে মুছবেন?

  2. জাভাস্ক্রিপ্ট একটি বস্তুর বৈশিষ্ট্য দ্বারা বস্তুর একটি অ্যারের মধ্যে অনন্য উপাদান সংখ্যা গণনা?

  3. কিভাবে একটি C# তালিকা আইটেম সংখ্যা গণনা?

  4. জাভাস্ক্রিপ্টে একটি বস্তুর মান কিভাবে পেতে হয়?