如何在JavaScript中循环键/值对象

var user = {};

现在我想创build一个setUsers方法,它接受一个键/值对对象并初始化uservariables。

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

数据如下所示:

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

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

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

像这样的东西:

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