दिलचस्प पोस्ट
नरम कीबोर्ड प्रोग्राम को खोलें जांचें कि मेरा ऐप ऐपस्टोर पर एक नया संस्करण है या नहीं एप्लिकेशन को नियोजित करते समय "असीमित सामर्थ्य" जेसीई नीति फ़ाइलों को स्थापित करने से बचने के लिए कैसे? jquery datetime पिकर सेट minDate गतिशील PHP और अपरिभाषित करने के लिए कोणीय HTTP पोस्ट मैं अग्रणी शून्य के साथ एक मूल्य कैसे पैड कर सकता हूं? क्या सभी संदर्भित विधानसभाओं को एप डोमेन में लोड करने के लिए एक तरीका है? मैं केवल कैसे संरक्षित या निजी कंस्ट्रक्टर के साथ एक क्लास पर :: std :: make_shared कॉल करूं? एंड्रॉइड पर प्रोग्राम प्रोग्राम स्थापित करें क्या कोई डिवीवी नापसंद बनाने का कोई तरीका है? मैं पाइथन को 32-बिट हिम तेंदुए और अन्य 32-बिट / 64-बिट प्रश्नों को कैसे लागू करूं? रेल त्रुटि, YAML को पार्स नहीं कर सका "सत्र कैश सीमक नहीं भेज सकते हैं – हेडर जो पहले से भेजे गए हैं" डुप्लिकेट डिक्ट इन पायथन में सूची निकालें Proguard कारण अनुवांशिक कक्षा में रनटाइम अपवाद (अज्ञात प्रकार कोड अज्ञात) कोड

कैसे जावास्क्रिप्ट वस्तु मान गतिशील रूप से सेट करें?

शब्दों के मामले को समझाना मुश्किल है, मैं एक उदाहरण देता हूं:

var myObj = { 'name': 'Umut', 'age' : 34 }; var prop = 'name'; var value = 'Onur'; myObj[name] = value; // This does not work eval('myObj.' + name) = value; //Bad coding ;) 

जावा स्क्रिप्ट में वैरिएबल वैल्यू के साथ मैं एक वैरिएबल प्रॉपर्टी कैसे सेट कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "कैसे जावास्क्रिप्ट वस्तु मान गतिशील रूप से सेट करें?"

 myObj[prop] = value; 

यह काम करना चाहिए आपने वैरिएबल के नाम और उसके मूल्य को मिला दिया है। लेकिन अपने गुणों को प्राप्त करने के लिए स्ट्रिंग के साथ एक ऑब्जेक्ट को अनुक्रमण करते हुए जावास्क्रिप्ट में ठीक काम करता है।

 myObj.name=value 

या

 myObj['name']=value (Quotes are required) 

इनमें से दोनों विनिमेय हैं

संपादित करें: मैं अनुमान लगा रहा हूं कि आप myObj [name] = value के बजाय myObj[prop] = value , दूसरा वाक्यविन्यास ठीक काम करता है: http://jsfiddle.net/waitinforatrain/dNjvb/1/

जैसा कि आप इसे सेट करते हैं उसी तरह आप संपत्ति को उसी तरह प्राप्त कर सकते हैं।

 foo = { bar: "value" } 

आप मान सेट करें foo["bar"] = "baz";

मान को प्राप्त करने के लिए foo["bar"]

"बाज़" वापस आएगा

जब आप किसी ऑब्जेक्ट myObj को बनाते हैं, तो इसके बारे में एक शब्दकोश की तरह सोचें इस मामले में, इसमें दो कुंजी, name और age

आप इन दो तरीकों से इन शब्दकोशों का उपयोग कर सकते हैं:

  • एक सरणी (जैसे myObj[name] ) की तरह; या
  • एक संपत्ति की तरह (जैसे myObj.name ); ध्यान दें कि कुछ गुण आरक्षित हैं, इसलिए पहली विधि को पसंद किया गया है।

आप इसे किसी भी समस्या के बिना एक संपत्ति के रूप में उपयोग करने में सक्षम होना चाहिए। हालांकि, इसे एक सरणी के रूप में उपयोग करने के लिए, आपको एक स्ट्रिंग की तरह कुंजी का इलाज करने की आवश्यकता होगी।

 myObj["name"] 

अन्यथा, जावास्क्रिप्ट यह मान देगा कि name एक चर है, और जब से आपने एक name चर name नहीं बनाया है, तो वह कुंजी जो आप की उम्मीद कर रहे हैं तक पहुंचने में सक्षम नहीं होंगे।

आप कुछ ऐसी चीज भी बना सकते हैं जो एक वैल्यू ऑब्जेक्ट (वीओ) के समान होगी;

SomeModelClassNameVO.js;

 function SomeModelClassNameVO(name,id) { this.name = name; this.id = id; } 

आप बस कर सकते हैं;

  var someModelClassNameVO = new someModelClassNameVO('name',1); console.log(someModelClassNameVO.name); 

इस myObj.name = value; रूप में सरल myObj.name = value;

आपका प्रश्न दोषपूर्ण है – वह काम करता है , लेकिन आपने एक गलती की है। आपने " myObj[name] " लिखा है जब मुझे पूरा यकीन है कि आप " myObj[prop] " लिखना चाहते हैं।