如何让JavaScript数组的键从自定义数字(而非默认0)开始?
让数组索引从指定数字(5)开始的解决方案
你遇到的问题根源在于push()方法的特性:它会自动从数组当前的最后一个索引(默认从0开始)往后追加元素,所以哪怕循环变量i从5起步,push进去的元素还是会被放到索引0、1、2...的位置。
要实现索引从5开始对应值5到10,你可以直接给数组的指定索引赋值,替代push()方法:
var array = []; for(var i = 5; i <= 10; ++i) { array[i] = i; } console.log(array);
执行这段代码后,数组的索引5到10会分别对应值5到10,输出结果就是你期望的5:5 6:6 7:7 8:8 9:9 10:10。
需要注意的是,这样的数组属于稀疏数组,索引0到4的位置会是undefined,但如果你只需要使用从5开始的索引部分,这完全不影响使用。如果不想保留前面的空索引,其实更适合用普通对象来存储键值对,但如果必须使用数组的话,上面的方法就是最直接的解决方案。
内容的提问来源于stack exchange,提问作者Fi3n1k
相关产品推荐
相关产品推荐

