在JavaScript中的任意起始索引上初始化数组

时间:2011-12-08 09:41:20

标签: javascript

在JavaScript中是否可以初始化数组,例如,subindex 1?

GenderArray: ['Female', 'Male', 'Other'],

我希望女性为1,男性为2,其他为3

3 个答案:

答案 0 :(得分:2)

简短的回答是否定的。

这是不可能的,或者至少不适用于所有浏览器。例如,如果您执行以下操作:

var a = [];

a[1] = "Female";
a[2] = "Male";
a[3] = "Other";

稍后访问[0]它将返回 undefined 。在初始化数组时,JS引擎会分配内存,让我们说20个元素从0开始索引。

您可以忽略第0个索引处的元素并使用您的数组,但请注意,在循环中,您需要将起始索引指定为1,如:

for (var i = 1; i < a.length; i++) { ... }

并且还要注意,在这种特殊情况下,您的阵列长度将是4而不是3。

答案 1 :(得分:1)

只需输入一个假人:

GenderArray: [undefined, 'Female', 'Male', 'Other'],

如果您需要阵列中的任意位置,请使用splice(),如下所示:

GenderArray = [];
GenderArray.splice(4, 3, 'Female', 'Male', 'Other');

这将使他们从第4位开始。

答案 2 :(得分:0)

使用JSON。我认为json是使用关联数组的最佳方式:

var myjsonobject = { 1: "Female", 2:"Male",3:"Other"}

然后这样称呼:

 alert(myjsonobject[1]) //for female
 alert(myjsonobject[2]) //for male