У меня есть ответ json от API, который возвращает объект, который содержит объекты

Что-то типа:

{Object}->{results}->{manyObjects}

При запуске этого:

var list = data.results.list;

for(val in list){
    console.debug(typeof val);
}

Консоль возвращает строки вместо Object.

Может ли кто-нибудь помочь мне проверить объекты?

0
Adonis K. Kakoulidis 24 Янв 2013 в 14:05

2 ответа

Лучший ответ

Цикл for возвращает все имена свойств объекта списка. Вы должны ссылаться на эти свойства объекта, чтобы получить дескриптор к ним.

var list = data.results.list;

for(val in list){
    console.debug(typeof list[val]);
}
2
Kevin Bowersox 24 Янв 2013 в 10:07

В вашем коде val это просто ключ внутри объекта, не значение, на которое указывает ключ. Попробуйте это вместо этого:

for(var val in list) {
    console.debug(typeof list[val]);
}

Хотя с учетом этого вы можете захотеть переименовать val в другое.

4
Anthony Grist 24 Янв 2013 в 10:07