在 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)
如果您位于 Node 上下文中,则可以使用
global
而不是 window
。如果您尝试在方法上下文中创建变量,则可以使用 this
。
我遇到了同样的场景,然后我使用 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;
}
您可以尝试下面的示例,首先初始化 -
let myObject = {}
let index = 5
myObject['object__' + index] = 'test';
输出将如下所示 -
console.log(myObject['object__' + index])
Output - test
console.log(myObject.object__5)
Output - test