जावास्क्रिप्ट - वस्तु कुंजी-> मूल्य


89
var obj = {
   a: "A",
   b: "B",
   c: "C"
}

console.log(obj.a); // return string : A

लेकिन मैं इस तरह एक चर के माध्यम से प्राप्त करना चाहते हैं

var name = "a";
console.log(obj.name) // but return undefined

यह कैसे करना है?

जवाबों:


109

[]संपत्तियों के स्ट्रिंग प्रतिनिधित्व के लिए संकेतन का उपयोग करें :

console.log(obj[name]);

अन्यथा यह "ए" संपत्ति के बजाय "नाम" संपत्ति की तलाश में है।


17

obj["a"]आप " ए " प्राप्त करने के लिए obj.a उपयोग के बराबर हैobj[name]


1
कृपया ध्यान दें कि obj [नाम] obj.name वापस कर देगा जो अपरिभाषित है।
— हामिद

1
यदि आप कोड की छोटी मात्रा लिख ​​रहे हैं, तो `` का प्रयोग करें
— JuicY_Burrito

8

इस सिंटैक्स का उपयोग करें:

obj[name]

ध्यान दें कि सभी वैध जेएस पहचानकर्ताओं के लिए obj.xसमान है obj["x"], लेकिन बाद वाला फॉर्म सभी स्ट्रिंग को कुंजी के रूप में स्वीकार करता है (न कि केवल वैध पहचानकर्ता)।

obj["Hey, this is ... neat?"] = 42

3

मैं निम्नलिखित सिंटैक्स का उपयोग करता हूं:

objTest = {"error": true, "message": "test message"};

त्रुटि प्राप्त करें:

 var name = "error"
 console.log(objTest[name]);

संदेश प्राप्त करें:

 name = "message"
 console.log(objTest[name]);

1

https://jsfiddle.net/sudheernunna/tug98nfm/1/

 var days = {};
days["monday"] = true;
days["tuesday"] = true;
days["wednesday"] = false;
days["thursday"] = true;
days["friday"] = false;
days["saturday"] = true;
days["sunday"] = false;
var userfalse=0,usertrue=0;
for(value in days)
{
   if(days[value]){
   usertrue++;
   }else{
   userfalse++;
   }
    console.log(days[value]);
}
alert("false",userfalse);
alert("true",usertrue);

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.