Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:b未定义。如何解决这些错误?_Javascript - Fatal编程技术网

Javascript 未捕获类型错误:b未定义。如何解决这些错误?

Javascript 未捕获类型错误:b未定义。如何解决这些错误?,javascript,Javascript,我在解决Euler问题48,并得出了解决方案-。基本上,我试图计算将数字存储在数组中的自幂。这个问题的链接是 然而,我得到了一个意想不到的错误。显示的错误消息为未捕获错误b未定义 function selfPower(n,b) { var carry,i=1,j; b[0][n-1]=1; while(i<=n) { carry=0,j=0; while(b[j]) { b[j][n-1

我在解决Euler问题48,并得出了解决方案-。基本上,我试图计算将数字存储在数组中的自幂。这个问题的链接是 然而,我得到了一个意想不到的错误。显示的错误消息为
未捕获错误b未定义

function selfPower(n,b)
{
    var carry,i=1,j;
    b[0][n-1]=1;
    while(i<=n)
    {
        carry=0,j=0;
        while(b[j])
        {
            b[j][n-1]=b[j][n-1]*n+carry;
            carry= Math.floor(b[j][n-1]/10);
            b[j][n-1]%=10;
            j++;
        }
        while(carry>0){
            b[j][n-1]=carry;
            carry=Math.floor(b[j][n-1]/10);
            b[j][n-1]%=10;
            j++;
        }
        i++;
    }
}
var a=[][1000];
var str="";
for(i=1;i<=1000;i++){
    selfPower(i,a);
}
for(i=0;i<10;i++){
    for(j=1;j<1000;j++)
    a[i][0]+=a[i][j];

    a[i][0]+=carry;
    carry=Math.floor(a[i][0]/10);
    a[i][0]%=10;
    str=a[i][0]+str;
}
document.getElementById('output').textContent= str;
功能自功率(n,b)
{
var进位,i=1,j;
b[0][n-1]=1;
while(i0){
b[j][n-1]=进位;
进位=数学楼层(b[j][n-1]/10);
b[j][n-1]=10;
j++;
}
i++;
}
}
var a=[[1000];
var str=“”;

对于(i=1;i而言,它们在上述代码中初始化数组的方式中存在缺陷

如果你想像这样访问矩阵,矩阵[i][j]

我发现在循环中初始化它最方便

var matrix = [],
    cols = 3;

//init the grid matrix
for ( var i = 0; i < cols; i++ ) {
    matrix[i] = []; 
}
var矩阵=[],
cols=3;
//初始化网格矩阵
对于(变量i=0;i
这将为您提供[]、[]、[]

因此矩阵[0][0]矩阵[1][0]返回undefined,而不是错误“Uncaught TypeError:无法设置undefined的属性“0”

因此,如果你重写代码,它将

var a=[]
var i,j;
for(i=1;i<=1000;i++){
    a[i-1]=[];
    a[i-1][0]=1;
    selfPower(i,a);
}
var a=[]
varⅠ,j;

对于(i=1;i)您希望
[[1000]
的结果是什么?