在JavaScript中是否可以初始化数组,例如,subindex 1?
GenderArray: ['Female', 'Male', 'Other'],
我希望女性为1
,男性为2
,其他为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