如何创建动态数组名称?

时间:2019-08-27 16:21:26

标签: javascript

曾经对此进行过研究,但实际上还没有找到解决方案。在JavaScript中,我希望能够将一个数组保存到另一个包含该数组名称(savedArrayCreated)和一个数字(1,2,3 ...等)的数组

例如:

arrayCreated[]

arrayCreated保存到:savedArrayCreated1

然后返回并清除arrayCreated,并用新的数组号填充它,并:

arrayCreated保存到:savedArrayCreated2

以此类推。

因此savedArrayCreated字段末尾的数字将增加,并且我将能够使用该名称/数字组合创建一个数组。

3 个答案:

答案 0 :(得分:0)

好吧,你可以有这样的东西:

var arrayCreated = [1,2,3,4];
var dynamicName = 'savedArrayCreated1';

window[dynamicName] = [...arrayCreated]; //copy by val not ref
console.log(eval(dynamicName)); // print [1,2,3,4]

答案 1 :(得分:0)

我认为您无法在js中创建变量名称。但是我认为您想要实现的目标可以使用数组数组来完成,我认为这是更好的解决方案。示例:

savedArraysCreated = []
arrayCreated = [1, 2, 3]
saveArraysCreated[0] = arrayCreated

但我也建议您查看这篇文章。

答案 2 :(得分:-1)

您可以将动态命名的变量分配给本地范围:

for (var i = 0; i < 10; ++i) {
  var arrayCreated = [i+1,i+2,i+3]
   this["arrayCreatedSaved"+i] = arrayCreated;
}

var a = this.arrayCreatedSaved0;
var b = this.arrayCreatedSaved1;
console.log(a);
console.log(b);