当函数返回多维数组(数组全部是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
答案 0 :(得分:8)
这是因为您使用括号表示法从数组中获取元素。
作为示例,show1
函数返回2,因为:
[0,1,2]
定义一个数组,
并且[1,2]
是用于从数组中获取元素的括号表示法。代码段等于:[0,1,2][2]
,因为逗号运算符返回最后一个操作数,即2。
您需要使用[]
包含代码段,以获得包含2个元素的数组:
[[0,1,2], [1,2]]
答案 1 :(得分:2)
问题在于你的语法。在javascript(和其他语言)中,2维数组是一个数组数组,因此当你想在javascript中声明它时,你应该这样做:
var twoDimArray = [[1, 2], [3, 6]];