jak utworzyć i przypisać wartość zmiennej tworzonej dynamicznie?

Staram się, żeby to zadziałało:

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

Celem jest posiadanie tylko 1 funkcji zamiast trzech z zasadniczo tą samą treścią, ale z różnymi nazwami zmiennych.

Na koniec chcę mieć coś takiego:

a_group = [];
b_group = [];

W ten sposób otrzymuję błąd:

ReferenceError: Invalid left-hand side in assignment

EDYTOWAĆ

Oto oryginalna funkcja, którą próbuję wykonać. Ale to nie zadziała.

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);
    }

}

Patrząc na dane wyjściowe konsoli:

states_group
[undefined, undefined, undefined]

A potem powinienem móc nazwać to:

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

Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion