2016-08-11 29 views
-8

有没有办法让数组从“1”而不是“0”开始?有没有办法让数组以1开头?

我只是问这个问题的好奇心。我们可以在编辑器中编写代码吗?

+4

[检查了这一点(http://stackoverflow.com/questions/2826682/how-do-i-create- an-array-in-javascript-which-index-starts-from-1) –

+0

'a = [,1,2,3];的console.log(一个[1]);/* 1 */console.log(a [0]);/* undefined * /' – GingerPlusPlus

+1

您可以自由地忽略元素0,但JavaScript运行时将维护数组的'.length'以包含它。因此,您必须小心,始终认识到,对于您的代码,数组的“.length”比“.length”所说的小。因为那样会很麻烦并且容易出错,所以这并不是有经验的程序员在没有一些非常可靠的原因的情况下会做的。 – Pointy

回答

0

绝对没有理由需要这样做。但是,如果你真的必须对一些奇怪的原因...

,可以暂时要么本事:

var arr = [,ele1,ele2,ele3...] 

//arr[1] = ele1; 

但是请记住,ARR的长度仍然是包括索引0,所以长度将是4。

或代替使用阵列的,使用对象:

var obj = {1: 'ele1', 2: 'ele2', 3: 'ele3'} 

//obj[1] = ele1; 
+0

这不是一个第一个索引为1的数组。它的第一个*元素*为空。 – str

+0

@str感谢澄清 - 做了一个编辑 – Ted