我有一个接收字符串数组的函数。这些是我应该连在一起的变量的名称。
类似的东西:
function createArray(varNames){
varNames.each( function(varName){
someArray = someArray.concat(varName.items);
});
}
createArray(["array1", "array2"]);
我不知道如何取一个字符串并选择以它命名的变量。在Javascript中以任何方式执行此操作?
答案 0 :(得分:1)
取决于定义变量的范围。如果它是在全局范围内定义的(在浏览器中),则可以通过window
对象访问它。
例如:
var arr1 = [1,2,3,4,5];
window['arr1']; // 1,2,3,4,5
答案 1 :(得分:0)
尝试窗口[varName] - 删除.items
例如
function createArray(varNames,theScope){
theScope = theScope || window;
varNames.each( function(varName){
someArray = someArray.concat(theScope[varName]);
});
}
createArray(["array1", "array2"]);
如果你有
var array1=[...];
var array2=[...];
或
createArray(["array1", "array2"],myScope);
如果你有
var myScope = {
"array1":[...],
"array2":[...],
}
答案 2 :(得分:0)
您可以在数组中传递变量,而不是传递字符串。