How To Create And Assign A Value To A Variable Created Dynamically?
I'm trying to get this to work: function whatever(arg) { eval(arg) + '_group' = []; } The purpose is to have only 1 function instead having three with basically the same content
Solution 1:
function whatever(arg) {
window[arg + '_group'] = [];
}
This will set a_group
, b_group
as global variable.
To access those variable use:
window['a_group'], window['b_group']
and so on.
According to edit
In your switch
you should use break;
.
switch(field_name) {
case 'states':
use = 'state';
break;
case 'cities':
use = 'city';
break;
case 'neighborhoods':
use = 'neighborhood';
break;
}
Using local Object (without window object) and better
var myObject = {};
function whatever(arg) {
myObject[arg + '_group'] = [];
// output: { 'a_group' : [], 'b_group' : [], .. }
}
// to set value
myObject[arg + '_group'].push( some_value );
// to get value
myObject[arg + '_group'];
Solution 2:
Although you really shouldn't use eval this should help
eval(arg + '_group') = [];
Solution 3:
Just to increase @theparadox's answer.
I prefer to use the following way to make a switch.
var options = {
'states' : 'state',
'cities': 'city',
'neighborhoods': 'neighborhood'
};
use = options[field_name];
Or if you just want to remove the last letter, you can do this.
use = field_name.slice(0,-1);
Post a Comment for "How To Create And Assign A Value To A Variable Created Dynamically?"