如何在javascript中检测多维数组长度?

如何在javascript中检测多维数组长度?,javascript,Javascript,在以下代码中,matrix.length仅计算第一个数组,而不计算第二个数组。如何计算多维数组,使下面代码的结果为10 var matrix = [1,2,3,4,5,6, [1,2,3,4]]; console.log(matrix.length - 1) 没有捷径,你必须把数组的长度加起来。如果只有两个维度,则: var矩阵=[1,2,3,4,5,6,1,2,3,4]; var sum=矩阵。还原函数ACC,条目{ return acc+Array.isArrayentry?entry

在以下代码中,matrix.length仅计算第一个数组,而不计算第二个数组。如何计算多维数组,使下面代码的结果为10

var matrix = [1,2,3,4,5,6, [1,2,3,4]];

console.log(matrix.length - 1)

没有捷径,你必须把数组的长度加起来。如果只有两个维度,则:

var矩阵=[1,2,3,4,5,6,1,2,3,4]; var sum=矩阵。还原函数ACC,条目{ return acc+Array.isArrayentry?entry.length:1; }, 0;
console.logsum 没有捷径,你必须把数组的长度加起来。如果只有两个维度,则:

var矩阵=[1,2,3,4,5,6,1,2,3,4]; var sum=矩阵。还原函数ACC,条目{ return acc+Array.isArrayentry?entry.length:1; }, 0;
console.logsum 基于@T.J.Crowder关于reduce的解决方案,我建议稍微扭转一下局面,这样代码中就只提到了一个reduce。为了增加趣味性,这里使用了箭头语法:

功能中心{ 返回Array.isArraya?a.reduceacc,el=>acc+entriesel,0:1; } var矩阵=[1,2,3,4,5,6,1,2,3,4]];
console.logentriesmatrix 基于@T.J.Crowder关于reduce的解决方案,我建议稍微扭转一下局面,这样代码中就只提到了一个reduce。为了增加趣味性,这里使用了箭头语法:

功能中心{ 返回Array.isArraya?a.reduceacc,el=>acc+entriesel,0:1; } var矩阵=[1,2,3,4,5,6,1,2,3,4]];
console.logentriesmatrix;你想要的期望值是多少?结果你想要10?不清楚你想要的是什么。请在所描述的案例中包括预期结果,并描述一般情况下的问题。该案例非常具体。您想要的预期值是什么?您想要10?不清楚您想要的是什么。请在描述的案例中包括预期的结果,并描述一般情况下的问题。该案例非常具体。只需几个额外的字符即可使其递归。。。entry.length变为entry.reducefn、0和fn作为回调名称。不妨全力以赴@我的头在哪里?:-谢谢。@斜视:不错!完成。只需要几个额外的字符就可以让它递归。。。entry.length变为entry.reducefn、0和fn作为回调名称。不妨全力以赴@我的头在哪里?:-谢谢。@斜视:不错!完成。