2014-12-23 40 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