Как создать и присвоить значение переменной, созданной динамически?

Я пытаюсь заставить это работать:

function whatever(arg) {
  eval(arg) + '_group' = [];
}

Цель состоит в том, чтобы иметь только одну функцию вместо трех с практически одинаковым содержимым, но с разными именами переменных.

В конце я хочу иметь что-то вроде:

a_group = [];
b_group = [];

При этом я получаю сообщение об ошибке:

ReferenceError: Invalid left-hand side in assignment

EDIT

Вот исходная функция, которую я пытаюсь заставить работать. Но это не сработает.

function collect_all_values_for(field_name) {

    switch(field_name) {
        case 'states':
            use = 'state';
        case 'cities':
            use = 'city';
        case 'neighborhoods':
            use = 'neighborhood';        
    }

    window[field_name + '_group'] = [];

    n_fields = $('[id^=' + use + '_]').length-1;

    i = 0;
    field_value = 0;
    for (i = 0; i<= n_fields; i++) {

        if (i == 0) {
            field_value = $('#' + use).val(); 
        }else{
            field_value = $('#' + use + '_id' + i).val();
        }

        //states_group.push(field_value);
        window[field_name + '_group'].push(field_value);
    }

}

Посмотрим на вывод консоли:

states_group
[undefined, undefined, undefined]

И тогда я смогу назвать это так:

collect_all_values_for('states');
collect_all_values_for('cities');
collect_all_values_for('neighborhoods');

Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос