默认情况下,每个JavaScript数组的索引从0开始。我想创建一个数组,它的索引从1开始。
我知道,一定很琐碎……谢谢你的帮助。
发布于 2014-03-16 08:33:34
一个简单的解决方案是填充第0项:
var map = [null, 'January', 'February', 'March'];
'First month : ' + map[1];
从语义上讲,最好使用对象:
var map = {1:'January', 2:'February', 3:'March'};
'First month : ' + map[1];
注意这些键实际上不是整型的,对象键总是字符串。
另外,我们不能使用点符号来访问。(MDN - Property Accessors)
我会选择第一种解决方案,我认为它不那么令人困惑。
发布于 2015-09-21 22:45:50
由于谷歌搜索时也会弹出这个问题,比如"javascript start array at 1“,所以我会给出一个不同的答案:
可以对数组进行切片。所以你可以得到一个切片版本的数组,如下所示:
var someArray = [0, 1, 2, 3];
someArray.slice(1);
[1, 2, 3]
someArray.slice(2, 4);
[2, 3]
来源:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
发布于 2019-05-16 15:13:50
您可以使用delete删除第一个元素,如下所示:
let arr = ['a','b','c'];
delete arr[0];
console.log(arr[0]);
console.log(arr[1]);
或者根本不去定义它:
let arr = [,'b','c'];
console.log(arr[0]);
console.log(arr[1]);
如果你想确保你总是得到第一个真实的元素,而不管索引是什么,并且有权访问ES6,你可以使用:
arr.find(Boolean)
https://stackoverflow.com/questions/2826682
复制相似问题