如何以编程方式命名数组

时间:2015-02-06 16:14:47

标签: javascript arrays

我正在创建一堆不同的数组,并且需要每个数组都有特定的名称(显然)。如何增加数组的名称?

我试过这个:

for (var i = 0; i < 9; i++) {
   var array+i = new Array() ;
}

但它显然不起作用,因为Unexpected token '+'. Expected ';' after var declaration.

我想要的是具有以下名称的数组:

array0
array1
array2
array3
...

我确定这是一个简单的修复我只是不知道该怎么做!

4 个答案:

答案 0 :(得分:3)

将数组作为键/值添加到对象。通过这种方式,您可以将它们保存在一个位置,并且不会使用 i 数组来污染全局空间。

var arrObj = {};
for (var i = 0, l = 5; i <= l; i++) {
  arrObj['array' + i] = [];
}

使用arrObj.array0.push('Bob');进行访问。

DEMO

答案 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;和安迪的答案就是你要找的。