Javascript TypeError:无法读取属性';长度';未定义的类型(由函数参数定义)

Javascript TypeError:无法读取属性';长度';未定义的类型(由函数参数定义),javascript,for-loop,multidimensional-array,variable-length-array,Javascript,For Loop,Multidimensional Array,Variable Length Array,我试图使下面的简单代码正常工作,但总是出现以下错误:TypeError:无法读取未定义的属性'length' 函数多路传输(arr){ var乘积=1; 如果(arr==未定义){ 返回“未定义数组!”; }否则{ 对于(变量i=0;i

我试图使下面的简单代码正常工作,但总是出现以下错误:TypeError:无法读取未定义的属性'length'

函数多路传输(arr){
var乘积=1;
如果(arr==未定义){
返回“未定义数组!”;
}否则{
对于(变量i=0;i

问题出在哪里?

这似乎是复制粘贴/打字错误:

for (var i = 0; i < arr.length; i++) {
      for (var j = 0; j < arr[i].length; i++)
for(变量i=0;i
在内部for循环中,您将递增
i
而不是
j
。您将离开数组的末尾,使
arr[i]
未定义


您可以通过使用调试器监视
i
j
的值,或者调用
console.log
来解决这个问题。您会注意到
i
的增量太快,而
j
保持在0。您正在检查
arr
是否未定义,但不检查
arr[i]
是未定义的。事实上,我们的许多代码让我失明。我在第二个for循环中实际上是在增加
I
,而不是
j
for (var i = 0; i < arr.length; i++) {
      for (var j = 0; j < arr[i].length; i++)