在JavaScript中以任意起始索引初始化数组
Initializing an array on arbitrary starting index in JavaScript
是否可能在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
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- Angular JS控制器初始化错误
- 在XMLHttpRequest之后重新初始化jQuery
- ember-js组件初始化不同的函数
- Youtube JavaScript API不是't正在初始化
- 函数无法识别初始化的变量
- datepicker引导程序再次初始化
- jquery数据表在初始化时设置宽度
- 如何使用app和secret进行安全的解析初始化
- 正确初始化索引数据库对象存储
- 如何使用非零索引初始化 Javascript 数组
- 在JavaScript中以任意起始索引初始化数组
- 如何初始化站点完整性设计器中所有组合框的选定索引