测试数组是否为多维数组。

3

我该如何测试一个变量是否包含一个多维数组?例如:

var obj = [1, 2];

vs

var obj = [[1], [2]];

我使用 Array.isArray(obj) 测试是否为数组,但我不知道如何测试数组的数量。


2
很简单,打开控制台,第二个会生成语法错误! - adeneo
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) { alert( 'Array!' ); } - tymeJV
3
一个变量始终只能包含一个值,因此它只能包含一个数组。也许您在描述问题时使用了错误的词语。如果是这样,请提供更多的上下文信息。 - Felix Kling
1
你的意思是多维数组吗? - Yuriy Galanter
1
你是指 var ratings = [[1], [2]] 吗?如果是的话,你需要检查每个值是否也是一个数组,同时也要检查 ratings 是否是一个数组。 - forgivenson
是的,多维数组。我对JavaScript很菜。 - user3180105
1个回答

7
假设您是指
var ratings = [[1], [2]];

var ratings = [1, 2];是正确的语法,可以这样写。

ratings.filter(Array.isArray).length

获取包装数组中数组的数量(2)

FIDDLE


很酷,完美地工作了。感谢您在错误的代码中读懂了我的意思。 - user3180105

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接