我正在创建一堆不同的数组,并且需要每个数组都有特定的名称(显然)。如何增加数组的名称?
我试过这个:
for (var i = 0; i < 9; i++) {
var array+i = new Array() ;
}
但它显然不起作用,因为Unexpected token '+'. Expected ';' after var declaration.
我想要的是具有以下名称的数组:
array0
array1
array2
array3
...
我确定这是一个简单的修复我只是不知道该怎么做!
答案 0 :(得分:3)
将数组作为键/值添加到对象。通过这种方式,您可以将它们保存在一个位置,并且不会使用 i 数组来污染全局空间。
var arrObj = {};
for (var i = 0, l = 5; i <= l; i++) {
arrObj['array' + i] = [];
}
使用arrObj.array0.push('Bob');
进行访问。
答案 1 :(得分:1)
一个选项是使用一个数组数组,也就是一个二维数组。你可以用两种不同的方式做到这一点。
首先,在创建数组容器时初始化所有数组:
var arrays = [
[0, 1, 2, 3],
[1, 2, 3, 4],
[2, 3, 4, 5],
[3, 4, 5, 6]
];
for (var i = 0; i < arrays.length; i++) {
document.body.innerHTML += "<div>Array" + i + " = " + arrays[i] + "</div>";
}
div {
margin: 5px;
}
或者,使用普通的array[index]
方法将数组添加到数组容器中:
var arrays = new Array();
for (var i = 0; i < 4; i++) {
arrays[i] = [i, i + 1, i + 2, i + 3];
}
for (var i = 0; i < arrays.length; i++) {
document.body.innerHTML += "<div>Array" + i + " = " + arrays[i] + "</div>";
}
div {
margin: 5px;
}
然后,如果要访问数组中的项,则调用arrays [x] [y]。其中x是数组编号,y是项目编号。
答案 2 :(得分:0)
您无法像这样创建变量名称。但是,您可以将它们添加到地图中:
var arrays = {};
for (var i = 0; i < 9; i++) {
arrays['array' + i] = [];
}
答案 3 :(得分:0)
如果您正在寻找一个全局变量的数组,您应该利用window
这样的对象:
for(var i=0;i<6;i++){
window["array"+i] = [];
}
将使用这6个全局数组创建名为:
ARRAY0
数组1
数组2
ARRAY3
array4
array5
我相信这是你正在寻找的,但是如果你想让数组成为另一个Object的成员,那么Jivings&#39;和安迪的答案就是你要找的。 p>