2010-09-30 12 views
17

मेरे पास एक स्वत: पूर्ण टेक्स्ट बॉक्स है जो उपयोगकर्ता आइटम कोड टाइप कर सकते हैं और यह पता लगाने की आवश्यकता है कि उस आइटम कोड की आईडी संख्या जावास्क्रिप्ट में क्या है।जावास्क्रिप्ट एसोसिएटिव सरणी को पॉप्युलेट करने के लिए कुशल वाक्यविन्यास

एक साहचर्य सरणी तरह से मैं कल्पना कर सकते हैं यह किया जाना चाहिए है, लेकिन निम्न एक छोटे से घना लगता है और मैं आशा करती हूं किसी को या क्या मैं नीचे है आशुलिपि करने के लिए एक बेहतर तरीका है:

var itemIds = new Array(); 
itemIds["item1"] = 15; 
itemIds["item2"] = 40; 
itemIds["item3"] = 72; 
... 

function getItemId(code){ 
    return itemIds[code]; 
} 
+1

'आइटम आईडी' को 'ऐरे' ऑब्जेक्ट के रूप में घोषित करना आवश्यक नहीं है। आखिरकार आप किसी ऑब्जेक्ट में गुण जोड़ रहे हैं। चूंकि जावास्क्रिप्ट ऑब्जेक्ट को 'कुंजी-मूल्य जोड़े' के लिए 'कंटेनर' के रूप में देखा जा सकता है, इसलिए कोई जावास्क्रिप्ट ऑब्जेक्ट करेगा। – smwikipedia

उत्तर

21

आप जो कर रहे हैं वह एक सरणी नहीं है - यह एक वस्तु है (जावास्क्रिप्ट में ऑब्जेक्ट्स PHP में सहयोगी सरणी के समकक्ष-आइस हैं)।

आप उपयोग कर सकते हैं जावास्क्रिप्ट शाब्दिक वाक्य रचना वस्तु:

var itemIds = { 
    item1: 15, 
    item2: 40, 
    item3: 72 
}; 

जावास्क्रिप्ट वस्तु सदस्यों डॉट नोटेशन या सरणी सबस्क्रिप्ट, तो तरह के माध्यम से पहुँचा जा सकता है:

itemIds.item1; 
itemIds['item1']; 

आप दूसरे का उपयोग करना होगा विकल्प अगर आपको सदस्य का नाम स्ट्रिंग के रूप में मिला है।

+0

वाह यह इतना अच्छा जवाब है उदाहरण प्रदान करने के लिए धन्यवाद। – Jake

2

इस तरह से अपनी देखने निर्दिष्ट करने के लिए वस्तु शाब्दिक अंकन का उपयोग का प्रयास करें:

var itemIds = { 
    "item1" : 15, 
    "item2" : 40 
    ... 
}; 

पहुंच अभी भी इस तरह काम करना चाहिए:

var item1Value = itemIds["item1"]; 
+2

Arg ... मैं पर्याप्त तेज़ नहीं था। – some

+1

तकनीकी रूप से, JSON डेटा एक्सचेंज के लिए जावास्क्रिप्ट ऑब्जेक्ट और सरणी अक्षरों का उपयोग है - जो आप दिखा रहे हैं वह एक वस्तु शाब्दिक है। – Skilldrick

+0

ओह, मैंने उस नाम में "नोटेशन" बिट से लिया जिसे उसने वाक्यविन्यास परिभाषित किया था। ऑब्जेक्ट लिटलल यह है! –

संबंधित मुद्दे