使用javascript在循环中动态创建数组

时间:2013-05-23 14:25:49

标签: javascript arrays

这是关于我正在尝试做什么的伪代码示例:

var totalLanguages = XX;

for(var i = 0; i < totalLanguages; i++){
    var dynamicArray + i = new Array();
    /*.....*/
}

我需要动态创建许多数组作为totalLanguages的值,可以是数字。

这可以做到这样的事情:

for(var i = 0; i < totalLanguages; i++){
    var arrayLanguages["es"] = dynamicArray+i;
    var arrayLanguages["en"] = dynamicArray+i;
}

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:1)

您基本上是在尝试使用变量名重新创建一个数组。只需使用数组开始!

var dynamicArray = [];
for(var i = 0; i < totalLanguages; i++) {
    dynamicArray[i] = new Array();
}

答案 1 :(得分:1)

您可以使用多维数组:

var languagesArray = new Array(totalLanguages);
for(var i = 0; i < totalLanguages; i++) {
  var innerArray = new Array();
  innerArray.push("Hello");
  innerArray.push("World");
  languagesArray[i] = innerArray;
}
console.log(languagesArray[0][0]);

请参阅:How can I create a two dimensional array in JavaScript?

答案 2 :(得分:1)

var languageNames = ['en', 'es'];
var languages = {};

for (var i = 0; i < languageNames.length; i++) {
    languages[languageNames[i]] = [];
}

答案 3 :(得分:0)

怎么样:

for(var i = 0; i < totalLanguages; i++){
    window["dynamicvariable " + i] = new Array();
    /*.....*/
}