JS减少现有的数组值 - NaN错误

时间:2017-06-04 09:39:17

标签: javascript arrays nan

我的数组中的NaN值存在一些问题。 我可以显示那个表,但是在我想要显示实现值的减量操作(底部的代码)后,我得到所有NaN。我不知道如何解决这个问题。我感谢任何帮助。

的script.js

WSGIApplicationGroup "%{GLOBAL}"

的index.html

WSGIPassAuthorization "On"

enter image description here

实例:https://jsfiddle.net/RadoszSzymon/aydr6bcm/2/

2 个答案:

答案 0 :(得分:0)

您需要使用数值初始化minWWierszu数组。 希望这有帮助。

答案 1 :(得分:0)

您的代码中存在多个错误。最重要的是:

1)JS不像以前那样支持多维数组。创建多维数组的方法是创建一个数组数组。另外,访问2d数组的单元格应该是tablica[i][j]而不是tablica[i, j]。错误的一个有效,因为,在许多语言中具有C语言的语法实际上是一个返回其第二个参数的有效运算符。因此tablica[i, j]实际上与tablica[j]相同,而不是访问2d-array的(i, j)单元

2)您初始化minWKolumnie两次(并且根本不使用)但不初始化您实际使用的minWWierszu的值。代码应该是

var minWWierszu = new Array();
var minWKolumnie = new Array();
var tablica = new Array();

for (var i = 0; i < wymiar; i++)
{
    minWKolumnie[i] = Number.MAX_VALUE;
    minWWierszu[i] = Number.MAX_VALUE;
    tablica[i] = new Array();
}

请注意,在JS中,您可以(很多人)仅使用[]而不是new Array()来创建一个空数组。

你还需要以类似的方式初始化(​​令人惊讶的未使用)jakas 2d数组,但是当你稍后创建变量时我把它放到下一个循环中:

var jakas = new Array();
for (var i = 0; i < wymiar; i++)
{
    jakas[i] = new Array();
    for (var j = 0; j < wymiar; j++)
    {
        jakas[i][j] = tablica[i][j];
    }
}

修复后,代码似乎有效,请查看updated JS fiddle