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

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

Για παράδειγμα, πώς θα μπορούσα να κάνω βρόχο μέσα από αυτό (προσπελάζοντας τα "your_name" και "your_message" για κάθε ένα);

var validation_messages = {
    "key_1": {
        "your_name": "jimmy",
        "your_msg": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_msg": "foo equals bar"
    }
}
Λύση
for (var key in validation_messages) {
    // skip loop if the property is from prototype
    if (!validation_messages.hasOwnProperty(key)) continue;

    var obj = validation_messages[key];
    for (var prop in obj) {
        // skip loop if the property is from prototype
        if (!obj.hasOwnProperty(prop)) continue;

        // your code
        alert(prop + " = " + obj[prop]);
    }
}
Σχόλια (4)
for(var k in validation_messages) {
    var o = validation_messages[k];
    do_something_with(o.your_name);
    do_something_else_with(o.your_msg);
}
Σχόλια (0)
for(var key in validation_messages){
    for(var subkey in validation_messages[key]){
        //code here
        //subkey being value, key being 'yourname' / 'yourmsg'
    }
}
Σχόλια (0)