Как в JS вытащить массив элементов?

Рейтинг: 0Ответов: 2Опубликовано: 11.12.2014

Здравствуйте!

В JS я новичок, поэтому звиняйте за дурацкий вопрос. Использую плагин автодополнения из JQuery UI. Мы получаем из ajax_get_groups ответ в формате json, у каждого элемента в нем есть поле title, массив которых мне надо передать в source. Как это сделать?

В данный момент код выглядит так (см. листинг ниже). Проблема в том, что он выводит только title последнего полученного элемента.

$.post(
    '/groups/ajax_get_groups',
    {},
    function(data)
    {
        if(data.result == 'ok')
        {
            for(i=0; i<data.groups.length; i++)
                {
                group = data.groups[i];

                var titles = [group.title];
                }

        $("#organizations").autocomplete({
           source: titles
        });
    }

Ответы

▲ 2

Попробуйте:

var titles = new Array();
for(i=0; i<data.groups.length; i++)
{
    group = data.groups[i];

    titles.push(group.title);
}
▲ 1

Вы можете переписать свой код так:

$("#organizations").autocomplete({
    source: $.map(data.groups, function(group) { return group.title; });
});

Он делает то, что вы пытались сделать в цикле.