2016-08-11 35 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