Hoe een sleutel/waarde-object doorlopen in Javascript?

nu wil ik een methode setUsers()maken die een sleutel/waarde-paar-object neemt en de variabele userinitialiseert.

setUsers = function(data) {     
   // loop and init user    
}

waar gegevens zijn zoals:

234: "john", 23421: "smith", ....

Antwoord 1, autoriteit 100%

Pas op voor eigenschappen die zijn overgenomen van het prototype van het object (wat kan gebeuren als u bibliotheken op uw pagina opneemt, zoals oudere versies van Prototype). U kunt dit controleren door de hasOwnProperty()-methode van het object te gebruiken. Dit is over het algemeen een goed idee bij het gebruik van for...inloops:

var user = {};
function setUsers(data) {
    for (var k in data) {
        if (data.hasOwnProperty(k)) {
           user[k] = data[k];
        }
    }
}

Antwoord 2, autoriteit 47%

for (var key in data) {
    alert("User " + data[key] + " is #" + key); // "User john is #234"
}

Antwoord 3, autoriteit 7%

Zoiets:

setUsers = function (data) {
    for (k in data) {
        user[k] = data[k];
    }
}

Other episodes