जावास्क्रिप्ट के एसोसिएटिव एरे वास्तव में जावास्क्रिप्ट ऑब्जेक्ट लिटरल्स हैं। यदि की एक स्ट्रिंग है तो आप स्क्वायर ब्रैकेट्स नोटेशन का उपयोग करके इन ऑब्जेक्ट्स में डायनामिकली कीज जोड़ सकते हैं।
उदाहरण
let a = {
name: 'Ayush'
};
let key = 'age';
// मौजूद न होने वाली की जोड़ें
a[key] = 35;
console.log(a);
आउटपुट
{ name: 'Ayush', age: 35 }
अधिक उदाहरण
const obj = {};
// डायनामिक की नेम्स
const prefix = 'user_';
for (let i = 1; i <= 3; i++) {
obj[prefix + i] = `User ${i}`;
}
console.log(obj); // { user_1: 'User 1', user_2: 'User 2', user_3: 'User 3' }
// वेरिएबल से की नेम
const dynamicKey = 'email';
obj[dynamicKey] = 'test@example.com';
// कम्प्यूटेड प्रॉपर्टी नेम्स (ES6)
const propName = 'phone';
const obj2 = {
[propName]: '123-456-7890'
};
महत्वपूर्ण नोट्स
- डॉट नोटेशन (
obj.key) डायनामिक कीज के साथ काम नहीं करता - ब्रैकेट नोटेशन (
obj[key]) डायनामिक कीज के लिए आवश्यक है - कीज हमेशा स्ट्रिंग्स (या सिम्बल्स) में कन्वर्ट हो जाती हैं
Map के साथ तुलना
// Map किसी भी टाइप की की अनुमति देता है
const map = new Map();
const objKey = { id: 1 };
map.set(objKey, 'value'); // ऑब्जेक्ट की के रूप में काम करता है!