是否可以在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
我该怎么做? 感谢
答案 0 :(得分:5)
由于您使用的是jQuery,因此可以使用:
$.isArray(a[0]);
以下是文档:http://api.jquery.com/jquery.isarray/
这绝对不是找出答案的唯一方法。您也可以使用以下方法在纯JS中执行此操作:
Array.isArray(v[0]);
答案 1 :(得分:1)
非常原始的检查方式:
function isMultiDimensional(array) {
return array.some(element => Array.isArray(element))
}
这基本上会检查你的元素是否也是一个数组
如果考虑所有元素都是数组的多维数组,请查看其他答案。
答案 2 :(得分: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]