曾经对此进行过研究,但实际上还没有找到解决方案。在JavaScript中,我希望能够将一个数组保存到另一个包含该数组名称(savedArrayCreated
)和一个数字(1,2,3 ...等)的数组
例如:
arrayCreated[]
将arrayCreated
保存到:savedArrayCreated1
然后返回并清除arrayCreated
,并用新的数组号填充它,并:
将arrayCreated
保存到:savedArrayCreated2
以此类推。
因此savedArrayCreated
字段末尾的数字将增加,并且我将能够使用该名称/数字组合创建一个数组。
答案 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);