【问题标题】:Can you use variables in a variable name in Javascript? [duplicate]你可以在 Javascript 中的变量名中使用变量吗? [复制]
【发布时间】:2015-04-17 12:24:43
【问题描述】:
var array1  = new Array(4);
var array2  = new Array(4);
var array3  = new Array(4);
var array4  = new Array(4);
var array5  = new Array(4);
var array6  = new Array(4);
var array7  = new Array(4);

for(var a = 1; a < 8; a++){
    array+ a = new Array(4);
}

我想用 for 循环创建一个数组,但变量每次都必须不同。所以我的问题是这是否可能,如果是,如何?

【问题讨论】:

标签: javascript jquery arrays variables for-loop


【解决方案1】:

不,你不能(除非你使用 Eval(),否则你不应该......)。

正如 Justinas 所说,您可以使用多维数组。

var array = [];
array.push(new Array(4));
array.push(new Array(4));
array.push(new Array(4));
array.push(new Array(4));
array.push(new Array(4));
array.push(new Array(4));
array.push(new Array(4));

for(var a = 1; a < 8; a++){
    array[a] = new Array(4);
}

【讨论】:

  • eval() 当然,或者是通过复制/粘贴来阻止人们使用它而不停下来思考他们在做什么:)
  • @JamesThorpe 我只是像避免瘟疫一样避免它。调试 eval 语句要困难得多,而且它们容易存在安全风险。稍后,应用程序可能会更改为开始使用用户输入的值而不是new Array(4),而不考虑eval()。最好尽可能避免它。
  • 哦,我完全同意 - 我只是在你的回答中对它的外壳开一个(坏)笑话:)
  • @JamesThorpe 啊! :) 我完全错过了,当我现在读回来时更有意义哈哈
【解决方案2】:

你可以这样做:

var myArrays = {};
myArrays["arrA"] = new Array(5);
myArrays["anotherArr"] = new Array(8);
...

【讨论】:

    猜你喜欢
    • 2011-02-18
    • 1970-01-01
    • 2019-02-14
    • 2022-06-13
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多