जावास्क्रिप्ट में ऑब्जेक्ट एलिमेंट प्राप्त करने में त्रुटि
मान लीजिए कि हमारे पास एक ऑब्जेक्ट है:
let obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
};
मान लीजिए कि हम इस ऑब्जेक्ट से किसी कुंजी द्वारा एलिमेंट प्राप्त करना चाहते हैं। मान लीजिए इस कुंजी का नाम उपयोगकर्ता द्वारा इनपुट में दर्ज किया जाता है:
console.log(input.value);
कुछ शुरुआती प्रोग्रामर निम्नलिखित गलती करते हैं: वे ऑब्जेक्ट को लूप में घुमाते हैं, और कुंजियों की तुलना एक-एक करके इनपुट के मान से करते हैं, ऐसे:
for (let key in obj) {
if (key === input.value) {
let elem = obj[key];
console.log(elem); // मांगा गया मान
break;
}
}
हालाँकि, इस कार्य में लूप पूरी तरह से अनावश्यक है। आखिरकार, हम बस कुंजी द्वारा अपना मान प्राप्त कर सकते हैं, इस तरह:
let elem = obj[input.value];
आवश्यकता पड़ने पर, ऑब्जेक्ट में ऐसी कुंजी के अस्तित्व की जाँच जोड़ सकते हैं:
if (obj[input.value] !== undefined) {
let elem = obj[input.value];
console.log(elem);
} else {
console.log('ऑब्जेक्ट में ऐसी कोई कुंजी नहीं है');
}