После долгих часов работы я выяснил, как получить значение ajax. Это выглядит так:
37,58,82,
Мне удалось удалить последнюю запятую и создать массив следующим образом:
Object { 0="37", 1="58", 2="82"}
Но мне нужно, чтобы это было так (согласно Firebug):
[Object { trackID="track-id-37"}, Object { trackID="track-id-58"}, Object { trackID="track-id-58"},]
Как я могу заставить его выглядеть?
Ну вот. Если у вас есть массив, вы можете вызвать $.map на нем.
$.map(["37", "58", "82"], function(elem) { return { trackID: "track-id-" + elem }; });
Или пусть говорят, что ваша строка называется your_string... мы можем действовать прямо на нее (я добавил пробелы, чтобы понять, что происходит) -
your_string = '37,58,82,';
$.map(your_string.split(','), function(elem)
{
if (elem != '')
{
return { trackID: "track-id-" + elem };
}
});
Оператор if (elem != '')
Должен защищать от любых пустых значений массива после split(',')
. $.map
допускает возвращаемые значения undefined
.
Также рассмотрите возможность использования $.trim на элементе, чтобы построить терпимость для пробелов и т.д., Например
$.map(your_string.split(','), function(elem)
{
var id = $.trim(elem);
if (id != '')
{
return { trackID: "track-id-" + id };
}
});
37,58,82,
вObject { 0="37", 1="58", 2="82"}
?tracks = $.extend({}, tracks);