How to check if array is multidimensional? (jQuery)
13,711
Solution 1
You need to check the first element of Array so use
if(arr[0].constructor === Array)
DEMO
alert("[[]] returns " + ([[]].constructor === Array))
Solution 2
You can also check all elements in the array so I think it would be more right way in 2019
const is2dArray = array => array.every(item => Array.isArray(item));
Solution 3
If you like my answer, please vote for the person above me, but here is the above answer reconstructed in function format:
function is2dArray(array){
if(array[0] === undefined){
return false;
}else{
return (array[0].constructor === Array);
}
}
Solution 4
if(array[0][0] === undefined){
return true;
}else{
return false;
}
this one checks if the Array is a multi or just a normal array.
Comments
-
FBN almost 2 years
I have two arrays of AJAX (JSON) response:
One dimension:
[["fili","Chif"],["Bart","deme"],["Bomb","Jyui"],["Joiu","FDPi"],["Doen","abcd"],["drog","MAIC"],["Jasi" ,"abcd"],["Jere","Jibi"]]
Three dimensions:
[[["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"]]]
I try to check if an array is multidimensional but does not work:
if (typeof arr[0][0] != "undefined" && arr[0][0].constructor == Array) { return true; }
-
Oliver Gondža almost 9 yearspossible duplicate of How to check if a multidimensional array item is set in JS?
-
6502 almost 9 yearsNever use
==
or!=
in Javascript. They're totally broken... go for===
and!==
instead. -
FBN almost 9 yearsOk i will use ===, thanks!
-
-
FBN almost 9 yearsIt worked when i changed to if(arr[0][0].constructor == Array) Thanks!