Atslēgas un elementa sajaukšana for ciklā JavaScript
Pieņemsim, ka ir dots masīvs ar mēnešu nosaukumiem:
let arr = [
'janv', 'febr', 'marts', 'apr', 'maijs', 'jūnijs',
'jūlijs', 'aug', 'sept', 'okt', 'nov', 'dec'
];
Pieņemsim, ka mainīgajā month glabājas
pašreizējā mēneša numurs:
let month = 10;
Izmantojot ciklu, izvadīsim visus mēnešus, tajā pašā laikā pašreizējo mēnesi izvadīsim slīprakstā.
Kāds programmētājs jau atrisināja šo uzdevumu,
taču viņš kļūdījās un nepievērsa uzmanību
tam, ka mainīgajā month
glabājas mēneša numurs, nevis tā nosaukums:
for (let i = 0; i < arr.length; i++) {
if (month === arr[i]) { // kļūda šeit
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}
Mūsu programmētājs salīdzina masīva elementu
ar mainīgo month. Bet taču šajā
mainīgajā glabājas mēneša numurs,
nevis tā nosaukums!
Lai kods darbotos pareizi,
jāsalidzina month
ar mēneša numuru, tas ir,
ar skaitītāja i vērtību:
for (let i = 0; i < arr.length; i++){
if (month === i) { // izlabojām kļūdu
document.write('<i>' + arr[i] + '</i>');
}
else {
document.write(arr[i]);
}
document.write('<br>');
}