我有两个变量varL和varR,它们分别具有L和R的信息。取决于第三个物体是否为“L”或“R”,我想分别引用varL或varR。有没有办法做到这一点?
具体来说,varL和varR是数组。如果第三个对象具有输入'L',我想为某些i访问varL [i],对于'R'也是如此。我知道这甚至不是正确的,但我正在寻找像
这样的东西(var +'L')[i]或其他什么
答案 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。您不应该问“我如何通过动态名称访问变量?”,而应该问“如何动态访问L
或R
所需的值?”
使其工作的一种简单方法是将值存储在具有.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]