如何检查数组是否是多维的?(jQuery的)

FBN*_*FBN 6 arrays ajax jquery response multidimensional-array

我有两个AJAX(JSON)响应数组:

一个维度:

[["fili","Chif"],["Bart","deme"],["Bomb","Jyui"],["Joiu","FDPi"],["Doen","abcd"],["drog","MAIC"],["Jasi"
,"abcd"],["Jere","Jibi"]]
Run Code Online (Sandbox Code Playgroud)

三个维度:

[[["5","#"],["2","N"],["L","7"],["C","8"],["F","W"],["K","T"],["Q","E"],["Z","\/"]],[["B","O"],["$","P"
],["1","Y"],["H","R"],["3","%"],["I","U"],["M","4"],["A","9"]],[["J","X"],["Bye","G"],["D","V"],["Bye"
,"6"]]]
Run Code Online (Sandbox Code Playgroud)

我尝试检查数组是否是多维的但不起作用:

if (typeof arr[0][0] != "undefined" && arr[0][0].constructor == Array) {
     return true;
} 
Run Code Online (Sandbox Code Playgroud)

bug*_*s94 14

您需要检查Array的第一个元素,以便使用

if(arr[0].constructor === Array)
Run Code Online (Sandbox Code Playgroud)

DEMO

alert("[[]] returns " + ([[]].constructor === Array))
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以检查数组中的所有元素,所以我认为在2019 年会更正确

const is2dArray = array =>  array.every(item => Array.isArray(item));
Run Code Online (Sandbox Code Playgroud)