मेरे पास इस तरह का कोड है।
var key = "anything";
var object = {
key: "key attribute"
};
मैं जानना चाहता हूं कि क्या key"कुछ भी" के साथ इसे बदलने का कोई तरीका है ।
पसंद
var object = {
"anything": "key attribute"
};
मेरे पास इस तरह का कोड है।
var key = "anything";
var object = {
key: "key attribute"
};
मैं जानना चाहता हूं कि क्या key"कुछ भी" के साथ इसे बदलने का कोई तरीका है ।
पसंद
var object = {
"anything": "key attribute"
};
जवाबों:
ईएस 6 में, गणना की गई संपत्ति के नाम का उपयोग करें ।
const key = "anything";
const object = {
[key]: "key attribute"
// ^^^^^ COMPUTED PROPERTY NAME
};
चारों ओर चौकोर कोष्ठक पर ध्यान दें key। आप वास्तव में स्क्वायर ब्रैकेट में किसी भी अभिव्यक्ति को निर्दिष्ट कर सकते हैं, न कि केवल एक चर।
हाँ। आप उपयोग कर सकते हैं:
var key = "anything";
var json = { };
json[key] = "key attribute";
या यदि प्रोग्राम लिखते समय आपके पास मान हो तो बस अपनी दूसरी विधि का उपयोग करें।
आधुनिक जावास्क्रिप्ट (ECMAScript 6) पर आप वर्ग कोष्ठक के साथ चर को घेर सकते हैं:
var key = "anything";
var json = {
[key]: "key attribute"
};
उपाय:
var key = "anything";
var json = {};
json[key] = "key attribute";
हाल ही में एक समाधान की जरूरत है कि गतिशील जोंस प्रमुख मूल्यों को पारित करने वाले कुकीज़ कैसे सेट करें Https://github.com/js-cookie/js-cookie#json का उपयोग करके इसे आसानी से किया जा सकता है। कुकी में उपयोगकर्ता के प्रत्येक चयनित विकल्प मूल्य को संग्रहीत करना चाहता था, इसलिए यह टैब या ब्राउज़र बंद होने की स्थिति में खो नहीं जाता है।
var json = {
option_values : {}
};
$('option:selected').each(function(index, el) {
var option = $(this);
var optionText = option.text();
var key = 'option_' + index;
json.option_values[key] = optionText;
Cookies.set('option_values', json, { expires: 7 } );
});
तब आप प्रत्येक पेज लोड पर प्रत्येक कुकी कुंजी का उपयोग करके पुनः प्राप्त कर सकते हैं
Cookies.getJSON('option_values');
वैसे, ऐसा करने का "सीधा" तरीका नहीं है ...
लेकिन यह करना चाहिए:
json[key] = json.key;
json.key = undefined;
यह थोड़ा मुश्किल है, लेकिन हे, यह काम करता है!