Javascript 如何计算多维数组中的项数?
我有一个这样的变量(它是动态生成的,所以这只是它的数据结构的一个示例): 父数组(this.arrayIHave)中每个数组(例如[1,2,“123”])中的项目数始终相等。如何计算数组中的数组中有多少项 在上面的示例中,我要查找的数字是3,因为在每个子数组中有3个元素。(我相信一个for循环会给我3,3,3,3等,但我只是希望得到一个数字的长度) 我试过了Javascript 如何计算多维数组中的项数?,javascript,arrays,Javascript,Arrays,我有一个这样的变量(它是动态生成的,所以这只是它的数据结构的一个示例): 父数组(this.arrayIHave)中每个数组(例如[1,2,“123”])中的项目数始终相等。如何计算数组中的数组中有多少项 在上面的示例中,我要查找的数字是3,因为在每个子数组中有3个元素。(我相信一个for循环会给我3,3,3,3等,但我只是希望得到一个数字的长度) 我试过了 this.arrayIHave.length 但是,它只给出数组中的数组数(应该是5个),但是有没有办法对“子”数组执行类似的操作?访问
this.arrayIHave.length
但是,它只给出数组中的数组数(应该是5个),但是有没有办法对“子”数组执行类似的操作?访问第一个数组的长度
this.arrayIHave[0].length
如果父数组中的数组彼此之间的长度始终相同,则可以执行以下操作:
this.arrayIHave[anynumber].length;
例如,第一个:
this.arrayIHave[0].length;
如果您的数组包含相同长度的数组,则您可以只获取一个数组的长度,这将是您的答案,如
ArrayHave[0]。length
或ArrayHave[1]。length
等您可以通过执行this.ArrayHave[0]。length
来访问项目的数量(数组的长度)
但是,如果this.arrayIHave
可能是一个空数组,调用前面的方法将抛出一个错误,解决方法是使用.reduce
函数迭代数组:
this.arrayIHave
.减少(
(previousLength,subArray)=>subArray.length,//获取每个子数组的长度
0//每个子数组的元素数(默认情况下,如果主数组为空,则子数组也为空)
);
编辑:重命名参数以使其更易于理解
this.arrayIHave[0].length;