Вы можете переключаться между клавишами так:
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
. N.B .: Синтаксис 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