2011-07-21 8 views
16

मैं जानकारी संग्रहीत करना चाहता हूं जैसे:जावास्क्रिप्ट में कोई कुंजी/मूल्य जोड़ी संरचना है?

छद्म कोड

array(manager) = {"Prateek","Rudresh","Prashant"}; 
array(employee) = {"namit","amit","sushil"}; 
array(hr) = {"priya","seema","nakul"}; 

मैं किस प्रकार की डेटा संरचना का उपयोग कर सकता हूं?

+0

यकीन है कि मैं का पालन नहीं, उपयोग कर सकते हैं जैसे: var managers = ["Prateek", "रुद्रेश", "प्रशांत"]; ? – brendan

उत्तर

34

आप arrays का उपयोग डेटा की सूची स्टोर करने के लिए कर सकते हैं; और की-वैल्यू


आप मामले में के लिए objects, तो आप शायद दोनों का उपयोग करेंगे:

var data = { 
    'manager': ["Prateek","Rudresh","Prashant"], 
    'employee': ["namit","amit","sushil"], 
    'hr': ["priya","seema","nakul"] 
}; 

यहाँ, data एक वस्तु है; जिसमें तीन सरणी शामिल हैं।

13

एक वस्तु:

var myobj = { 
    "manager": ["Prateek","Rudresh","Prashant"], 
    "employee": ["namit","amit","sushil"], 
    "hr": ["priya","seema","nakul"] 
} 

alert(myobj['employee'][1]); // Outputs "amit" 
+0

हाँ मुझे लगता है कि मैं इसे ढूंढ रहा था। –

+0

क्या आपका मतलब '{"प्रेटेक", "रुद्रेश", "प्रशांत"} के लिए एक सरणी होना था? – jfriend00

+0

@ jfriend00 हां, मुझे लगता है कि वह उन्हें सरणी के रूप में उपयोग करना चाहता है। – Paulpro

2

हाँ है:

var theArray = {}; 
theArray["manager"] = ["Prateek","Rudresh","Prashant"]; 
theArray["employee"] = ["namit","amit","sushil"]; 
theArray["hr"] = ["priya","seema","nakul"]; 
+1

यह सही नहीं है, कोई वस्तु उस संरचना है। आपका उदाहरण काम करता है क्योंकि एक सरणी सिर्फ एक वस्तु है। –

+0

@ एमिल इवानोव: यह बिल्कुल सही है, यह 2 आयामी सरणी बनाता है।कृपया विस्तृत करें कि कौन सा हिस्सा गलत है – Ibu

+1

जावास्क्रिप्ट में Arrays केवल एक संख्या द्वारा अनुक्रमित किया जा सकता है। स्ट्रिंग द्वारा उन्हें अनुक्रमणित करना संभव है, क्योंकि जेएस में किसी ऑब्जेक्ट को स्ट्रिंग द्वारा अनुक्रमित किया जा सकता है। –

-1

यहां तक ​​कि आप नीचे के रूप में सामग्री का प्रयोग कर सकते हैं: -

var obj = new Object(); 

obj.name = 'Jatin'; 
obj.place = 'Delhi'; 
10

एक सामान्य वस्तु क्या करेंगे:

var a = { 
    key1: "value1", 
    key2: ["value2.1","value2.2"] 
    /*etc*/ 
} 

साथ प्रवेश:

a.key1 
a["key1"] 
2

या इस तरह JSON का उपयोग करें। आपके छद्म कोड का थोड़ा बदलाव, लेकिन यह क्रमिक और विस्तार योग्य होगा।

var Person = [ 
{ 
    "name": "Prateek", 
    "position": "manager"}, 
{ 
    "name": "James", 
    "position": "employee"} 

]; 
6

आप उन्हें वस्तुओं की एक सरणी में संग्रहीत कर सकती है:

var Staff = [ 
     { name: 'Prateek', role: manager }, 
     { name: 'Rudresh', role: manager }, 
     { name: 'Prashant', role: manager }, 
     { name: 'Namit', role: employee }, 
     { name: 'Amit', role: employee }, 
     { name: 'Sushil', role: employee }, 
     { name: 'Priya', role: hr }, 
     { name: 'Seema', role: hr }, 
     { name: 'Nakul', role: hr }, 
    ]; 

एक आईडी विशेषता जोड़ने भी आपके आवेदन के आधार पर उपयोगी हो सकता है। यानी

{ id: 223, name: 'Prateek', role: manager }, 
3
ES2015/ES6 साथ

आप Map प्रकार है।

का उपयोग करते हुए अपने कोड मानचित्र

const map = new Map([ 
 
    ['manager', ['Prateek', 'Rudresh', 'Prashant']], 
 
    ['employee', ['namit', 'amit', 'sushil']], 
 
    ['hr', ['priya', 'seema', 'nakul']] 
 
]) 
 

 
console.log(...map.entries())

तरह दिखेगा व्यक्तिगत मूल्य प्राप्त करने के लिए कारण है कि आप एक JavaScript व्यवस्था का उपयोग नहीं कर सकते हैं Map.get('key') विधि

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