I'm looking for a way to create variables dynamically in javascript
eg
I have a loop
for (i=0;i<15;i++){
}
now I need to create variables dynamically eg var "a"+i for eavh value in the loop. Is this possible and how?
The simplest JavaScript method to create the dynamic variables is to create an array. In JavaScript, we can define the dynamic array without defining its length and use it as Map. We can map the value with the key using an array and also access the value using a key.
Dynamic variables compute their own values by executing statements and logical expressions. A dynamic variable assigns itself the result of a calculation or operation. The dynamic variable types are dynamic string, dynamic number, and dynamic True/False (Boolean).
To create a variable in JavaScript, use the let keyword. To be concise, we can combine the variable declaration and assignment into a single line: let message = 'Hello! '; // define the variable and assign the value alert(message); // Hello!
Since you are dealing with numeric, sequential variables — use an array.
var foo = [];
for (var i = 0; i < 15; i++) {
foo[i] = something;
}
If we presume that you will need several variables related to each iteration ([foo1,bar1], [foo2, bar2]...) then there are two approaches
Use arrays
var foo = [], bar = [];
foo[1] = "foo";
bar[1] = "bar";
Use an object
var myVars = {};
myVars["foo" + 1] = "foo";
myVars["bar" + 1] = "bar";
That last one could also be written as
myVars.bar1 = "bar";
Do not use eval
as some has suggested.
To fulfill your exact requirement, I know only eval()
:
eval("varname"+i+" = 'Hello';");
on the other hand, you could consider using an array. Much cleaner: They don't clutter the global namespace, and you can order variables neatly in groups.
arrayname[i] = value;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With