PHPでは、次のような変数名を連結できます
$a = 1
${'fruit_' . $a} = 'apple';
結果は変数の作成につながります$fruit_a
JavaScriptでこれを行うにはどうすればよいですか?
PHPでは、次のような変数名を連結できます
$a = 1
${'fruit_' . $a} = 'apple';
結果は変数の作成につながります$fruit_a
JavaScriptでこれを行うにはどうすればよいですか?
何を達成しようとしているのか正確にはわかりませんが、JavaScriptを使用すると、次のように使用できます。
> var a = 1;
> var b = {};
> b['fruit_' + a] = 'apple';
> b.fruit_1
"apple"
> b['fruit_1']
"apple"
これを行うには、変数をコンテキストに割り当てます。たとえば、ブラウザコンテキストで動的に名前が付けられたグローバル変数を作成するには、次を使用します。
const a = 1
window['fruit_' + a] = 'apple'
console.log(fruit_1)
ノードコンテキストを使用している場合は、のglobal
代わりにを使用しますwindow
。メソッドコンテキストで変数を作成しようとしている場合は、を使用しますthis
。
同じシナリオに出くわした後、switchケースを使用して、このようなシーケンス番号を持つ変数のリストを管理します。
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;
}