是否可能在JavaScript中初始化数组,例如,子索引1?
GenderArray: ['Female', 'Male', 'Other'],
我想让女性为1
,男性为2
,其他为3
。
简短的回答是不
这是不可能的,至少不是在所有的浏览器。例如,如果你这样做:
var a = [];
a[1] = "Female";
a[2] = "Male";
a[3] = "Other";
然后访问a[0],它将返回undefined。当你初始化数组时,JS引擎会为20个元素分配内存,这些元素从0开始索引。
你可以忽略第0个索引的元素,并使用你的数组,但请注意,在你的循环中,你需要指定开始索引为1,如:
for (var i = 1; i < a.length; i++) { ... }
还要注意数组的长度将是4,而不是你在这个特殊情况下期望的3
放一个假人:
GenderArray: [undefined, 'Female', 'Male', 'Other'],
如果您需要在数组中的任意位置使用splice()
,如:
GenderArray = [];
GenderArray.splice(4, 3, 'Female', 'Male', 'Other');
这将使它们从位置4开始
使用JSON。我认为json是使用关联数组的最佳方式:
var myjsonobject = { 1: "Female", 2:"Male",3:"Other"}
然后这样调用:
alert(myjsonobject[1]) //for female
alert(myjsonobject[2]) //for male