Javascript 矩阵行列式
矩阵行列式函数不起作用,我不知道为什么。我觉得没问题。谁能帮我一下吗 HtmlJavascript 矩阵行列式,javascript,html,matrix,Javascript,Html,Matrix,矩阵行列式函数不起作用,我不知道为什么。我觉得没问题。谁能帮我一下吗 Html 编辑!:if语句的arr.length==4,else语句的arr.length==9。您将数组的长度筛选为2,但在此之后,您将尝试访问超出该长度的索引: if(arr.length == 2){ determinant = (arr[0].value*arr[3].value) - (arr[1].value*arr[2].value); } 另一个if语句也是如此。您真的看到控制台中的错误了吗?控制台在
编辑!:if语句的arr.length==4,else语句的arr.length==9。您将数组的长度筛选为2,但在此之后,您将尝试访问超出该长度的索引:
if(arr.length == 2){
determinant = (arr[0].value*arr[3].value) - (arr[1].value*arr[2].value);
}
另一个if语句也是如此。您真的看到控制台中的错误了吗?控制台在第11行(document.getElementById(outputId).value)上给了我“Uncaught TypeError:无法设置null的属性'value'”错误。这是由于键入错误造成的。将“CaClValue 2”更改为“CalcValue 2”。
function det(className,outputId){
var arr = document.getElementsByClassName(className);
var determinant = 0;
if(arr.length == 2){
determinant = (arr[0].value*arr[3].value) - (arr[1].value*arr[2].value);
}
else if(arr.length == 3){
determinant = (arr[0].value*((arr[4].value*arr[8].value) - (arr[5].value * arr[7].value))) -
(arr[1].value*((arr[3].value*arr[8].value) - (arr[5].value * arr[6].value))) +
(arr[2].value*((arr[3].value*arr[7].value) - (arr[4].value * arr[6].value)));
}
document.getElementById(outputId).value = determinant;
return determinant;
}
if(arr.length == 2){
determinant = (arr[0].value*arr[3].value) - (arr[1].value*arr[2].value);
}