4 of 17 menu

Σύγχυση κλειδιού και στοιχείου στον βρόχο for στην JavaScript

Ας υποθέσουμε ότι υπάρχει ένας πίνακας με τα ονόματα των μηνών:

let arr = [ 'Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ' ];

Ας υποθέσουμε ότι στη μεταβλητή month αποθηκεύεται ο αριθμός του τρέχοντος μήνα:

let month = 10;

Ας εμφανίσουμε όλους τους μήνες χρησιμοποιώντας βρόχο, ενώ τον τρέχοντα μήνα θα τον εμφανίσουμε με πλάγια γραφή.

Κάποιος προγραμματιστής έχει ήδη λύσει αυτό το πρόβλημα, ωστόσο, έκανε ένα λάθος και δεν πρόσεξε ότι στη μεταβλητή month αποθηκεύεται ο αριθμός του μήνα, και όχι το όνομά του:

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>'); }

Ο προγραμματιστής μας συγκρίνει το στοιχείο του πίναka με τη μεταβλητή month. Αλλά σε αυτή τη μεταβλητή αποθηκεύεται ο αριθμός του μήνα, και όχι το όνομά του!

Για να λειτουργεί σωστά ο κώδικας, πρέπει να συγκρίνουμε το month με τον αριθμό του μήνα, δηλαδή με την τιμή του μετρητή i:

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>'); }
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη