2011-03-25 9 views

उत्तर

41

ठीक है, आप यह कर सकते हैं:

var myMap = { key: [ value1, value2 ] }; 
var array = myMap.key; // or myMap["key"] 

जावास्क्रिप्ट एक "साहचर्य सरणी" प्रकार, एक कि "मानचित्र" प्रॉपर्टी की संख्या का ट्रैक रखने की तरह सरणी व्यवहार के साथ व्यवहार को जोड़ती है नहीं है। इस प्रकार सामान्य बात करना एक सादा वस्तु का उपयोग करना है। आधुनिक जावास्क्रिप्ट में अब (2017), एक स्पष्ट Map सुविधा है जो कुंजी को किसी भी प्रकार का होने की अनुमति देती है, केवल साधारण वस्तुओं का उपयोग करते समय तारों की तरह नहीं।

जावास्क्रिप्ट वस्तु शाब्दिक अंकन के बारे में थोड़ा मूर्खतापूर्ण है, जबकि इसमें जब तक आप उन्हें बोली आप चाबी के लिए आरक्षित शब्दों का प्रयोग नहीं दूँगी:

var myMap = { 'function': 'hello world' }; 

बोली वाक्य रचना किसी भी स्ट्रिंग इस्तेमाल की अनुमति देता एक संपत्ति के नाम के रूप में। ऐसे गुणों का उपयोग करने के लिए आपको [ ] ऑपरेटर

console.log(myMap["function"]); // "hello world" 
+0

आप किसी ऑब्जेक्ट सरणी घोषित नहीं किया! –

+0

@ सुहायब खेरबेश ?? सही? जब आप गैर-संख्यात्मक संपत्ति नाम चाहते हैं (जब तक कि आपके पास वास्तव में कोई अच्छा कारण न हो) जावास्क्रिप्ट सरणी का उपयोग नहीं किया जाना चाहिए। – Pointy

8

हाँ का उपयोग करेंगे, और वाक्य रचना भी लगभग एक ही है।

myMap.key[1] 
5

लघु जवाब ... हाँ ...

var m = { Foo : ["Bar", "Baz"] }; 

alert(m.Foo[0]); 
alert(m["Foo"][1]); 
9

यह वास्तव में है:

var myMap = {key: ["value1", "value2"]}; 
alert(myMap["key"][1]); // pops up an alert with the word "value2" 

आप निम्न संकेतन का उपयोग कर सकते हैं।

var myMap = {london: ['clapham', 'chelsea'], bristol:['clifton', 'redland']} 

alert(myMap.london[0]); 
alert(myMap['bristol'][1]); 

jsFiddle

0

आप मानचित्र का उपयोग कर सकते हैं पर इस उदाहरण देखें:

var myMap = new Map(); 
myMap.set('key','Value'); 
var res = myMap.get('key'); 

console.log(var); // Result is: 'Value' 
संबंधित मुद्दे