動機
javascriptの記事を書いていて、なにかしらの入力値の数だけ変数をうまく生成できないか考えた時、
連想配列をうまく使うと実装できたのでちょっとしたメモとして。
アイデア
動的に生成するだけなら、javascriptにはeval関数という、文字列をjavascriptのコードとみなしてくれるものがあるが、パフォーマンスも悪く、セキュリティにも問題があるそうなので使わない。
そこで、連想配列のキーを変数名に、値を変数の値とみなすことにする。
実装
まずは空っぽの連想配列を用意して、順次追加していく。
const len = 3; //何かしら入力値を受け取ったとする
//変数を動的に生成するための連想配列
const variables = {};
//要素を追加していく=変数を生成する
for(let i = 1; i <= len; i++){
variables['variable' + i] = 'value' + i;
}
こうすることで、連想配列variablesの構造は以下のようになる:
{
'variable1': 'value1',
'variable2': 'value2',
'variable3': 'value3'
}
となることが分かる。
まとめ
似たような内容のオブジェクトを生成するときは、上記のようなコードを書くことで、繰り返しの少ない綺麗なコードが書けるかと思います。
以上、ちょっとしたアイデアでした。