您可以像这样遍历键:
for (var key in data) {
console.log(key);
}
这会记录“名称”和“值”。
如果您有一个更复杂的对象类型(不仅仅是一个普通的类似哈希的对象,如原始问题中那样),您将只想遍历属于对象本身的键,而不是对象原型上的键:
for (var key in data) {
if (data.hasOwnProperty(key)) {
console.log(key);
}
}
正如您所指出的,不保证密钥按任何特定顺序排列。请注意这与以下内容有何不同:
for each (var value in data) {
console.log(value);
}
此示例循环遍历值,因此它会记录Property Name
和0
。注意:该for each
语法大多仅在 Firefox 中受支持,而在其他浏览器中不支持。
如果您的目标浏览器支持 ES5,或者您的站点包含es5-shim.js
(推荐),您还可以使用Object.keys
:
var data = { Name: 'Property Name', Value: '0' };
console.log(Object.keys(data)); // => ["Name", "Value"]
并循环Array.prototype.forEach
:
Object.keys(data).forEach(function (key) {
console.log(data[key]);
});
// => Logs "Property Name", 0