JavaScript में for लूप में की और एलिमेंट की confusion
मान लीजिए कि महीनों के नामों वाला एक array दिया गया है:
let arr = [
'जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून',
'जुलाई', 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर'
];
मान लीजिए कि variable month में
वर्तमान महीने की संख्या stored है:
let month = 10;
आइए एक loop का उपयोग करके सभी महीनों को output करें, जिसमें वर्तमान महीने को italic में output करें।
किसी programmer ने पहले ही इस problem को solve कर लिया है,
हालांकि, उसने गलती कर दी और इस बात पर ध्यान नहीं दिया
कि variable month में
महीने की संख्या stored है, न कि उसका नाम:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // त्रुटि यहाँ है
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
हमारा programmer array के element की तुलना
variable month से कर रहा है। लेकिन इस
variable में तो महीने की संख्या stored है,
उसका नाम नहीं!
कोड को सही ढंग से काम करवाने के लिए,
month की तुलना
महीने की संख्या से करनी चाहिए, यानी
counter i के value से:
for (let i = 0; i < arr.length; i++){
if (month === i) { // त्रुटि सुधार दी गई
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}