152
var user = {};

现在我想创建一个setUsers()采用键/值对对象并初始化user变量的方法。

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

数据如下:

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

3 回答 3

215

注意从对象原型继承的属性(如果您在页面上包含任何库,例如旧版本的 Prototype,就会发生这种情况)。hasOwnProperty()您可以使用对象的方法检查这一点。for...in使用循环时,这通常是一个好主意:

var user = {};

function setUsers(data) {
    for (var k in data) {
        if (data.hasOwnProperty(k)) {
           user[k] = data[k];
        }
    }
}
于 2010-06-02T15:07:08.120 回答
100
for (var key in data) {
    alert("User " + data[key] + " is #" + key); // "User john is #234"
}
于 2010-06-02T14:57:41.357 回答
15

像这样的东西:

setUsers = function (data) {
    for (k in data) {
        user[k] = data[k];
    }
}
于 2010-06-02T14:53:08.687 回答