153 votes

Comment boucler un objet clé/valeur en Javascript ?

var user = {};

maintenant je veux créer une méthode setUsers() qui prend un objet de 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", ....

215voto

Tim Down Points 124501

Méfiez-vous des propriétés héritées du prototype de l'objet (ce qui pourrait 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 for...in boucles :

var user = {};

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

100voto

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

15voto

Bialecki Points 5059

Quelque chose comme ceci :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X