Как создать и присвоить значение переменной, созданной динамически?
Я пытаюсь заставить это работать:
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');
Заранее спасибо.