dynamic array names javascript
arrays, dynamic, eval, javascript
Solution
If you are doing this in the browser, one possible solution would be to do:
function setArray(a, b, c){
window['Array' + a][b] = c;
}
setArray('Top', 5, 100);
I would recommend that all your array's be contained in some object and not pollute the global namespace. So it would be more like:
var arrays = {
ArrayTop: [],
ArrayNorth: []
};
function setArray(a, b, c){
arrays['Array' + a][b] = c;
}
setArray('Top', 5, 100);
I would not recommend using eval. Eval is not meant for this kind of dynamic evaluation and it is a huge performance hit.
Problem
I have a few arrays with like names. ``` ArrayTop[] ArrayLeft[] ArrayRight[] ArrayWidth[] ``` I am trying to set the name dynamically in a function and then set value. I have tried many ways of dynamically picking the right array but have not come up with a solution. ``` function setarray(a,b,c){ eval(Array+a+[b])=c } setarray('Top',5,100) ``` In this example i am trying to set. ``` ArrayTop[5]=100 ```