JavaScript-এ সত্যিকারের অ্যাসোসিয়েটিভ অ্যারে নেই, বরং অবজেক্ট ব্যবহার করা হয়। অবজেক্টের প্রপার্টি সংখ্যা (লেন্থ) বের করার জন্য Object.keys() ব্যবহার করা হয়।
অ্যাসোসিয়েটিভ অ্যারে (অবজেক্ট) তৈরি
var details = new Array(); // অথবা {}
details["Name"] = "John";
details["Age"] = 21;
details["CountryName"] = "US";
details["SubjectName"] = "JavaScript";
লেন্থ বের করা
var length = Object.keys(details).length;
console.log("দৈর্ঘ্য = " + length); // 4
চলানোর পদ্ধতি
- কোডটি
assocLength.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node assocLength.js
আউটপুট
দৈর্ঘ্য = 4
অন্যান্য পদ্ধতিগুলো
| পদ্ধতি | কোড | ব্যাখ্যা |
|---|---|---|
| Object.keys() | Object.keys(obj).length | স্ট্রিক্ট প্রপার্টি কাউন্ট (ES5+) |
| Object.getOwnPropertyNames() | Object.getOwnPropertyNames(obj).length | নন-এনামারেবলও গিনে |
| for...in লুপ | লুপ করে কাউন্ট | পুরনো পদ্ধতি, প্রোটোটাইপও গিনতে পারে |
| Reflect.ownKeys() | Reflect.ownKeys(obj).length | সিম্বল প্রপার্টিও গিনে (ES6) |
সাধারণ ভুল
var arr = [];
arr["name"] = "John";
console.log(arr.length); // 0 ! (Array.length শুধু numeric index গিনে)
সেরা অনুশীলন
- অ্যাসোসিয়েটিভ ডেটার জন্য সাদা অবজেক্ট
{}ব্যবহার করুন। Object.keys(obj).lengthসবচেয়ে স্ট্যান্ডার্ড।- Map অবজেক্ট ব্যবহার করলে
map.sizeদিয়ে সরাসরি পাওয়া যায়।
Map উদাহরণ (বিকল্প)
const map = new Map();
map.set("Name", "John");
map.set("Age", 21);
console.log(map.size); // 2 - সরাসরি লেন্থ