Вы пытаетесь добавить свойство в строку, что вы не можете сделать.Если вы хотите, чтобы массив содержал список объектов, используйте Array.map()
для преобразования ваших строк в объекты:
var surveyResults = survey.split("|").map(function (result) {
var parts = result.split(":");
return {
question: parts[0],
answer: parts[1]
};
});
Он включен в большинство браузеров, но для более старых версий некоторых браузеров вынеобходимо добавить .map()
вручную .
Редактировать: jQuery добавляет функцию карты (как отмечено в комментариях).Немного измените приведенный выше код, чтобы включить массив в качестве первого параметра для $.map()
и заменить имя аргумента на this
(или сдвинуть аргумент result
на один вправо, следуя index
):
var surveyResults = $.map(survey.split("|"), function (i, result) {
var parts = result.split(":"); // or this.split(":")
return {
question: parts[0],
answer: parts[1]
};
});