我如何根据我拥有的字符串调用某个变量或其他变量

时间:2017-04-06 05:18:14

标签: javascript string variables

我有两个变量varL和varR,它们分别具有L和R的信息。取决于第三个物体是否为“L”或“R”,我想分别引用varL或varR。有没有办法做到这一点?

具体来说,varL和varR是数组。如果第三个对象具有输入'L',我想为某些i访问varL [i],对于'R'也是如此。我知道这甚至不是正确的,但我正在寻找像

这样的东西

(var +'L')[i]或其他什么

4 个答案:

答案 0 :(得分:1)

var varL;
var varR;

function getInput(input) {
  return (input == 'L') ? varL : varR;
}

答案 1 :(得分:0)

如果您有输入值,那么您可以在循环中检查并使用如下所示的相应数组

var testL=[4,5,6];
var testR=[4,5,6];


var input='L';

if(input=='L'){
  console.log(testL[0]);    //replace 0 with i index
}else if(input=='R'){
 console.log(testR[0]);      //replace 0 with i index
}

答案 2 :(得分:0)

您的问题是the XY problem。您不应该问“我如何通过动态名称访问变量?”,而应该问“如何动态访问LR所需的值?”

使其工作的一种简单方法是将值存储在具有.L.R属性的对象中。然后,访问所需的值非常简单:

var myVar = {
  L: [1, 2, 3],
  R: [3, 4, 5]
};

var direction = 'L';

console.log(myVar[direction]);

direction = 'R';

console.log(myVar[direction]);

答案 3 :(得分:-2)

尝试从窗口对象

访问它
window[("var"+"L")]

它会起作用!!

或eval

eval(("var"+"L"))[i]