如何根据从字符串中提取的名称在运行时创建变量?

ton*_*nyf 1 javascript string

希望有人可以帮助并希望这在JavaScript中是可行的.我的格式基本上有以下字符串:

A,B,C:d,E,F

我想要实现的是将左侧JavaScript变量与":"左侧配对,右侧为":"右侧的值.

我基本上想要设置以下变量,以便我可以在我的编码中使用,即:

var A = D;
var B = E;
var C = F;
Run Code Online (Sandbox Code Playgroud)

然后,我可以将A,B和C的值用作其他JavaScript函数的参数.

我已经查看了此字符串操作的split和slice方法,但不确定如何将左侧与右侧值配对.

任何帮助都会很棒,谢谢!

Ste*_*all 5

使用此方法(将变量附加到对象),您可以在没有eval语句的情况下引用代码中的变量.

a = "A,B,C:D,E,F";
array = a.split(":"); //split on the colon, get two strings
lefts = array[0];
rights = array[1];

obj = {} //object to attach variables to.
for( var i = 0; i < lefts.length; i++ )
{
  obj[lefts[i]] = rights[i]; //set the member variables of obj
}

obj.A // D
obj.B // E
obj.C // F
Run Code Online (Sandbox Code Playgroud)

如果您关心浪费的逗号属性,请在设置对象之前检查lefts [i]是否等于逗号.

  • 嗯......这就是它所说的,但也在`obj`上创建了一个","属性(值为......","). (3认同)