2014-12-23 72 views
1

我來過這個奇怪的使用,如果JavaScript數組 任何人都可以解釋我這一點。Javascript多數組操作

[1,2,3] [1,2]

這是什麼類型的操作?

+4

在什麼情況下? –

+0

你確切的問題是什麼? –

+0

如何處理它? –

回答

3

在表達式

var result = [1, 2, 3][1, 2] 

第一部分[1, 2, 3]是字面的陣列,第二部分是[1, 2]索引到陣列。因此,這等同於:

var array = [1, 2, 3]; 
var index = (1, 2); 
var result = array[index]; 

(1, 2)逗號表達式。它從左到右評估它的參數,並返回最後一個的值,所以它相當於2。所以整個事情是等價於:

var result = array[2]; 

這臺result3

+0

爲了澄清,逗號表達式將返回最右邊的元素,即'(1,2,3)'將返回'3'。 –

+0

這實際上是兩個逗號表達式,相當於'((1,2),3)',就像'1 + 2 + 3'是兩個加法表達式一樣。 – Barmar

+0

嗨巴爾馬,我明白你對索引的解釋。但我沒有得到((1,2),3)。 請解釋我使用逗號opeartor – Kpatel1989