Πώς μπορώ να κάνω βρόχο ή απαρίθμηση ενός αντικειμένου JavaScript;

Έχω ένα αντικείμενο JavaScript όπως το ακόλουθο:

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

Τώρα θέλω να κάνω βρόχο σε όλα τα στοιχεία p (p1, p2, p3...) Και να πάρω τα κλειδιά και τις τιμές τους. Πώς μπορώ να το κάνω αυτό;

Μπορώ να τροποποιήσω το αντικείμενο JavaScript αν είναι απαραίτητο. Ο απώτερος στόχος μου είναι να κάνω βρόχο μέσα από κάποια ζεύγη κλειδιών και τιμών και αν είναι δυνατόν θέλω να αποφύγω τη χρήση του eval.

Λύση

Μπορείτε να χρησιμοποιήσετε το βρόχο "for-in" όπως έχουν δείξει άλλοι. Ωστόσο, πρέπει επίσης να βεβαιωθείτε ότι το κλειδί που λαμβάνετε είναι μια πραγματική ιδιότητα ενός αντικειμένου και δεν προέρχεται από το πρωτότυπο.

Αυτό είναι το απόσπασμα:

Σχόλια (27)

Μπορείτε απλά να το επαναλάβετε όπως:

for (var key in p) {
  alert(p[key]);
}

Σημειώστε ότι το key δεν θα πάρει την τιμή της ιδιότητας, είναι απλά μια τιμή δείκτη.

Σχόλια (2)
for(key in p) {
  alert( p[key] );
}

Σημείωση: μπορείτε να το κάνετε αυτό πάνω σε πίνακες, αλλά θα κάνετε επανάληψη πάνω στο "μήκος" και σε άλλες ιδιότητες, επίσης.

Σχόλια (5)