问题
var user = {};
now I want to create a setUsers()
method that takes a key/value pair object and initializes the user
variable.
setUsers = function(data) {
// loop and init user
}
where data is like:
234: "john", 23421: "smith", ....
回答1:
Beware of properties inherited from the object's prototype (which could happen if you're including any libraries on your page, such as older versions of Prototype). You can check for this by using the object's hasOwnProperty()
method. This is generally a good idea when using for...in
loops:
var user = {};
function setUsers(data) {
for (var k in data) {
if (data.hasOwnProperty(k)) {
user[k] = data[k];
}
}
}
回答2:
for (var key in data) {
alert("User " + data[key] + " is #" + key); // "User john is #234"
}
回答3:
Something like this:
setUsers = function (data) {
for (k in data) {
user[k] = data[k];
}
}
来源:https://stackoverflow.com/questions/2958841/how-to-loop-through-key-value-object-in-javascript