DEV Community

Kresimir Pendic
Kresimir Pendic

Posted on

1

Javascript - dynamically generated variable names!

Sometimes i feel like - put my hands up in the air .. no, sorry this post was not about songs and lyrics and putting your limbs airborne .. it's about my old issue that I thought I can't pull with javascript - but I was wrong. And that is, to generate some sort of 'loop-able' variable names - naming,, naming.. :(

Sort of, to be able to make variables in series, like: var1, var2, var3 ... simply by looping:

// some random arr
var arr = [ 2, 1, 4, 'cat', true, false, null ] ;
// loop and generate dynamic variable names
for( var i = 0; i < arr.length; i++){
    var var+i = i * i; // >> this will surely fail, can't do that in JS
}

But that is not doable in javascript.. and that got me pretty hard .. because my brain think in way that should be doable ..?

So today I found out that solution to that problem was instead of variables, to think of array members .. we can easily change keys in array, and as in this simple example below I'll be able to iterate over loop and add any key as variable name to it:

// some random arr
var arr = [ 2, 1, 4, 'cat', false ] ;
// foo array is "holder" of dynamic variables
var foo = [] ; 
// loop and generate dynamic variable names
for( var i = 0; i < arr.length; i++){
    foo[ "slider" + arr[ i ] ] = [ i ]
}
console.log( foo );
// [slider2: 2, slider1: 3, slider4: 0, slidercat: 1, sliderfalse: 6]

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (1)

Collapse
 
daniaaalarshad profile image
daniaaalarshad

thanks for the idea :)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay