In PHP you can concatenate a variable name like this
$a = 1
${'fruit_' . $a} = 'apple';
The result will lead to the creation of variable $fruit_a
How would I do this in javascript?
In PHP you can concatenate a variable name like this
$a = 1
${'fruit_' . $a} = 'apple';
The result will lead to the creation of variable $fruit_a
How would I do this in javascript?
Not sure exactly what you are trying to accomplish, but with JavaScript, you could use the following:
> var a = 1;
> var b = {};
> b['fruit_' + a] = 'apple';
> b.fruit_1
"apple"
> b['fruit_1']
"apple"
You can do this by assigning the variable to a context. For example, to create a dynamically-named global variable in a browser context, you would use:
const a = 1
window['fruit_' + a] = 'apple'
console.log(fruit_1)
If you're in a Node context, you would use global
instead of window
. If you were trying to create a variable in a method context, you would use this
.
I came across the same scenario, then I use the switch case to manage the list of variables with sequence numbers like this.
var url = 'stackoverflow.com/questions/12149233/concatenate-a-dynamic/variable-name-in-javascript';
var splittedu = url.substring(url.lastIndexOf('/')+1);
var subsections = splittedu.split("/");
for(let i=1; i<subsections.length-1; i++){
switch(i) {
case 1:
subsection1 = subsections[i];
break;
case 2:
subsection2 = subsections[i];
break;
case 3:
subsection3 = subsections[i];
break;
case 4:
subsection4 = subsections[i];
break;
}