使用多个数字来访问javascript中的数组元素:whoy以这种方式工作吗?

Yos*_*osh 1 javascript arrays

我有一个清单: var a = [0,1,2,3];

然后我错误地使用了一对数字来访问元素,如下所示:

console.log(a[0,0]) // => 0
console.log(a[0,1]) // => 1
console.log(a[1,0]) // => 0
console.log(a[4,2,5,1,2]) // => 2
Run Code Online (Sandbox Code Playgroud)

我认为它会抛出一个错误,返回undefined,或使用它遇到的第一个数字,但相反,似乎使用了数字的最后一个元素.为什么?有什么参考我可以咨询吗?

对于那些可能想知道我为什么这样做的人a[0,0]:我将用python + numpy编写的脚本重写为javascript.该脚本处理2D数组和a[m,n]要访问的numpy箭头a[m][n].

Ja͢*_*͢ck 5

嗯,这就是逗号运算符的工作方式; 用作表达式,它产生列表的最后一个值,即:

0,0         => 0
'foo','bar' => 'bar'
Run Code Online (Sandbox Code Playgroud)

要访问数组的第二个维度,您需要使用括号表示法:

a[0][1] // get first element, then second element inside that
Run Code Online (Sandbox Code Playgroud)