如何初始化数组变量

时间:2015-01-05 15:33:45

标签: javascript arrays for-loop

我想在javascript中动态初始化变量数组。我不断收到意外的令牌非法令牌错误。

在我当前的脚本serviceLimit = 10;中,但可以随时更改。

尝试#1

var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
  jqSvcPhrase[+ i +] = ''; // produces - Uncaught SyntaxError: Unexpected token ]
}

尝试#2

var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
  jqSvcPhrase\[+ i +\] = ''; // produces - Uncaught SyntaxError: Unexpected token ILLEGAL
}

尝试#3

var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
  jqSvcPhrase\\[+ i +\\] = ''; // produces - Uncaught SyntaxError: Unexpected token ILLEGAL
}

5 个答案:

答案 0 :(得分:1)

呃......所有+的内容是什么?

var jqSvcPhrase = {};
for(i=1; i<=serviceLimit; i++) {
  jqSvcPhrase[i] = '';
}

答案 1 :(得分:1)

i是整数类型,因此不需要连接。试试这个:

var jqSvcPhrase = {};
for (i = 1; i <= serviceLimit; i++) {
      jqSvcPhrase[i] = '';
}

答案 2 :(得分:1)

首先,您要声明一个对象而不是一个数组。 它应该是var jqSvcPhrase = [];。 此外,不需要+。它必须是jqSvcPhrase[i]

答案 3 :(得分:0)

为什么要使用花括号?使用方括号表示数组。

var jqSvcPhrase = [];
for(i=1; i<=serviceLimit; i++) {
      jqSvcPhrase[i] = '';
}

答案 4 :(得分:0)

数组语法(Manual):

[element0, element1, ..., elementN] 
new Array(element0, element1[, ...[, elementN]]) 
new Array(arrayLength)

这应该是:

var jqSvcPhrase = new Array(serviceLimit);

初始化值是有意义的:

for (x in jqSvcPhrase) { x = ''; }