10

PHPでは、次のような変数名を連結できます

$a = 1

${'fruit_' . $a} = 'apple';

結果は変数の作成につながります$fruit_a

JavaScriptでこれを行うにはどうすればよいですか?

4

3 に答える 3

16

何を達成しようとしているのか正確にはわかりませんが、JavaScriptを使用すると、次のように使用できます。

> var a = 1;
> var b = {};
> b['fruit_' + a] = 'apple';
> b.fruit_1
"apple"
> b['fruit_1']
"apple"
于 2012-08-27T20:42:41.753 に答える
11

これを行うには、変数をコンテキストに割り当てます。たとえば、ブラウザコンテキストで動的に名前が付けられたグローバル変数を作成するには、次を使用します。

const a = 1
window['fruit_' + a] = 'apple'

console.log(fruit_1)

ノードコンテキストを使用している場合は、のglobal代わりにを使用しますwindow。メソッドコンテキストで変数を作成しようとしている場合は、を使用しますthis

于 2012-08-27T20:44:38.413 に答える
0

同じシナリオに出くわした後、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;
 }

于 2021-05-04T13:57:01.830 に答える