次のようにキーをループできます。
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 が含まれている場合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