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)

如果您在 Node 上下文中,您将使用global而不是window. 如果您尝试在方法上下文中创建变量,您将使用this.

于 2012-08-27T20:44:38.413 回答
0

我遇到了同样的情况,然后我使用 switch case 来管理具有这样序列号的变量列表。

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 回答