Javascript с массивом объектов;Свойство в объекте имеет значение, возвращает неопределенный - PullRequest
1 голос
/ 26 января 2012

Так что в основном у меня есть массив объектов со свойствами. Теперь массив состоит из 102 элементов из определенного набора данных, с которым я тестирую. # 4 и 6 в массиве проходят нормально, но 5 имеет проблему. Я проверил этот сайт и многие другие, и я нашел один экземпляр точной проблемы, их решение использовать нотацию свойств не сработало.

Когда я проверяю questionList [5] ['id'], он возвращает "undefined", то же самое с questionList [5] .id. Я не понимаю почему. Вот объект, который является проблемой:

questionList[5]: Object
    id: "questionPage-6"
    attached: ""
    options: Array[4]
    required: true
    text: "How often do all of your active members meet?"
    type: "dropdown"
    value: ""

Тогда как этот вопрос сразу после него:

questionList[6]: Object
    attached: ""
    id: "questionPage-7"
    required: true
    text: "How are these meeting successful and how could they be improved?"
    type: " textarea"
    value: ""

Когда я делаю questionList [6] ['id'], я получаю "questionPage-7".

Поскольку идентификатор 5 не определен, я не могу создать вкладки в пользовательском интерфейсе jQuery, которые пытаюсь создать, я получаю неверные идентификаторы фрагментов, потому что для идентификатора div, который использует идентификатор, задано значение # undefined.

1 Ответ

0 голосов
/ 26 января 2012

Проблема в том, что ваш необработанный JSON имеет свойство id элемента с индексом 5 с пробелом, то есть имеет " id" вместо "id".

Демонстрация, показывающая, что он работает, если вы используетеquestionList[5][" id"]: http://jsfiddle.net/VYwYC/

(Очевидно, вам нужно исправить источник JSON.)

...