简体   繁体   English

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

[英]Create arrays dynamically in a loop with javascript

Here's a pseudocode example about what I'm trying to do: 这是有关我要执行的操作的伪代码示例:

var totalLanguages = XX; var totalLanguages = XX;

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

I need to create dynamically many arrays as the value of totalLanguages which can be either number. 我需要动态创建许多数组作为totalLanguages的值,该值可以是任意一个。

This is to be able to do something like this: 这是为了能够执行以下操作:

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

Is there any way to do this? 有什么办法吗?

You are basically trying to recreate an array with variable names. 您基本上是在尝试使用变量名重新创建数组。 Just use an Array to start out! 只需使用数组即可开始!

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

You can use multi-dimensional arrays: 您可以使用多维数组:

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]);

See: How can I create a two dimensional array in JavaScript? 请参阅: 如何在JavaScript中创建二维数组?

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

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

How about: 怎么样:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM