2016-11-15 123 views
0

是否有可能區分jQuery中的數組數組或陣列對象數組?如何區分陣列和陣列陣列

var a = [1,2,3]; 
var a2 = [[12,'Smith',1],[13,'Jones',2]]; 
var a3 = [{val:'12', des:'Smith', num:1}]; 

//a = array 
//a2 and a3 = multidimensional array 

我該怎麼做? 感謝

+1

另外請注意,這與jQuery –

回答

5

由於您使用jQuery,您可以使用:

$.isArray(a[0]); 

這裏的文檔:http://api.jquery.com/jquery.isarray/

這絕對不是找出的唯一途徑。你可以在純JS就此別過,使用:

Array.isArray(v[0]); 
+2

'Array.isArray'完全沒有關係,因爲純JS – Rajesh

+0

謝謝Rajesh,我編輯了我的回覆以添加此! –

+0

'$ .isArray === Array.isArray',它們是一樣的,err – Hydro

0

此功能可以解決你的問題

function checkArray(arr){ 
     if(!Array.isArray(arr[0])) return 'simple array'; 
     else return 'Not simple array [Array of arrays (or) Array of objects]'; 
} 

checkArray(a); // simple array 
checkArray(a1); // Not simple array [Array of arrays (or) Array of objects] 
+0

我(恭敬地)不同意這個;出於所有實際目的,數組數組是一個多維數組。事實語言本身並沒有多維數組的具體概念,僅僅是技術性。 – fstanis

+0

亞..所以你的意思是陣列數組是一個多維數組? –

+0

不是必需的,但「數組數組」是弱類型語言對多維數組最接近的一個。這就是爲什麼我覺得說*不支持JavaScript *是不正確的。 – fstanis

1

檢查的非常原始的方式:

function isMultiDimensional(array) { 
    return array.some(element => Array.isArray(element)) 
} 

這基本上檢查,如果任何的你的元素也是一個數組

如果你考慮多維數組,其中所有元素都是數組是的,看看其他答案。