Ответ 1
Поскольку вы отметили свой вопрос как jquery
, вам следует использовать $.each
, потому что это функция итератора jquery:
$.each(data.dates, function(index, element) {
alert(element.timeStamp);
});
Если вы хотите придерживаться синтаксиса for in
(который, как я вижу, вы пробовали), решение может быть:
for(var key in data.dates) {
alert(data.dates[key].timeStamp);
}
Но будьте осторожны, что синтаксис for in
может сделать больше, чем вы думаете, он выполняет итерации над свойствами, унаследованными от прототипа, поэтому может быть полезно, чтобы вы выполняли итерацию только по свойствам экземпляра объекта:
for(var key in data.dates) {
// if it not something from the prototype
if(data.dates.hasOwnProperty(key)) {
alert(data.dates[key].timeStamp);
}
}
Обновление
Еще один элегантный способ - использовать метод Object.keys
, который возвращает массив, содержащий все ключи целевого объекта, для итерации по всем свойствам объекта:
for(var i=0, keys=Object.keys(data.dates), l=keys.length; i<l; i++) {
alert(data.dates[key].timeStamp);
}