如何区分数组和数组数组

时间:2016-11-15 11:04:11

标签: javascript arrays

是否可以在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

我该怎么做? 感谢

3 个答案:

答案 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]