为什么函数返回多维数组但结果是数字?

hey*_*den 4 javascript

当函数返回Multidimensional Arrays(数组全部是num)时,结果是num?

function show(){
    return [1,2][1,2];
}
function show1(){
    return [0,1,2][1,2];
}
function show2(){
    return [0,1,2,3,4,5,6,7,8,9,10,11,12][[0,1,2,[5,9,8,6][2,1,5,0],4,6][1,2,3]];
}
console.log(show());//undefined
console.log(show1());//2
console.log(show2());//5
Run Code Online (Sandbox Code Playgroud)

und*_*ned 8

这是因为您使用括号表示法从数组中获取元素.

作为示例,show1函数返回2,因为:

[0,1,2]定义一个数组,并且[1,2]是用于从数组中获取元素的括号表示法.代码片段等于:[0,1,2][2],因为逗号运算符返回最后一个操作数,即2.

您需要使用[]包含2个元素的数组来包装代码片段:

[[0,1,2], [1,2]]
Run Code Online (Sandbox Code Playgroud)