您可以像这样遍历键:
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