JavaScript में वास्तविक एसोसिएटिव ऐरे नहीं होते - ऑब्जेक्ट्स का उपयोग कुंजी-मान जोड़े के लिए किया जाता है। Object.keys() से कुंजियों की ऐरे प्राप्त करें, फिर .length से गिनें।
एसोसिएटिव ऐरे (ऑब्जेक्ट) बनाएं
const details = {};
details["Name"] = "John";
details["Age"] = 21;
details["CountryName"] = "US";
details["SubjectName"] = "JavaScript";
console.log(details);
// { Name: 'John', Age: 21, CountryName: 'US', SubjectName: 'JavaScript' }
लंबाई प्राप्त करें
// Object.keys() से कुंजियों की ऐरे प्राप्त करें
const keys = Object.keys(details);
console.log("कुंजियाँ:", keys); // [ 'Name', 'Age', 'CountryName', 'SubjectName' ]
// लंबाई
const length = Object.keys(details).length;
console.log("लंबाई:", length); // 4
अन्य उपयोगी मेथड्स
// मानों की ऐरे
const values = Object.values(details);
console.log("मान:", values); // [ 'John', 21, 'US', 'JavaScript' ]
// कुंजी-मान जोड़े की ऐरे
const entries = Object.entries(details);
console.log("एंट्रीज़:", entries);
// [ ['Name', 'John'], ['Age', 21], ['CountryName', 'US'], ['SubjectName', 'JavaScript'] ]
// लंबाई (समान)
console.log(Object.values(details).length); // 4
console.log(Object.entries(details).length); // 4
Map ऑब्जेक्ट (बेहतर विकल्प)
असली की-मान स्टोर के लिए Map उपयोग करें जिसमें .size प्रॉपर्टी होती है:
const map = new Map();
map.set("Name", "John");
map.set("Age", 21);
map.set("CountryName", "US");
console.log("आकार:", map.size); // 3 - सीधा प्रॉपर्टी!
console.log("कुंजियाँ:", [...map.keys()]);
console.log("मान:", [...map.values()]);
चलाने का तरीका
node associative-array-length.js
आउटपुट
कुंजियाँ: [ 'Name', 'Age', 'CountryName', 'SubjectName' ]
लंबाई: 4
सारांश
| डेटा स्ट्रक्चर | लंबाई प्राप्त करें | नोट्स |
|---|---|---|
| प्लेन ऑब्जेक्ट | Object.keys(obj).length | प्रोटोटाइप कुंजियाँ शामिल नहीं |
| Map | map.size | सीधा प्रॉपर्टी, कुंजियाँ किसी भी प्रकार की |
| ऐरे | arr.length | केवल संख्यात्मक इंडेक्स |
चेतावनी
for...in लूप प्रोटोटाइप चेन की कुंजियाँ भी शामिल करता है। hasOwnProperty() जांच या Object.keys() उपयोग करें।