web-dev-qa-db-fra.com

Comment boucler un objet clé / valeur en Javascript?

var user = {};

je souhaite maintenant créer une méthode setUsers() qui prend un objet paire clé/valeur et initialise la variable user.

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

où les données sont comme:

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

Méfiez-vous des propriétés héritées du prototype de l'objet (ce qui peut arriver si vous incluez des bibliothèques sur votre page, telles que les anciennes versions de Prototype). Vous pouvez vérifier cela en utilisant la méthode hasOwnProperty() de l'objet. C'est généralement une bonne idée lorsque vous utilisez les boucles for...in:

var user = {};

function setUsers(data) {
    for (var k in data) {
        if (data.hasOwnProperty(k)) {
           user[k] = data[k];
        }
    }
}
184
Tim Down
for (var key in data) {
    alert("User " + data[key] + " is #" + key); // "User john is #234"
}
72
Felix

Quelque chose comme ça:

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