javascript - 一个很奇怪的数组

标签 javascript arrays

<分区>

这是我的问题,我正在编写一个游戏,我需要使用一个非常简单的数组,问题是我创建了它,一切正常,下一行,数组中整行的值发生了变化我不明白为什么,这是我的代码:

var ciblesPossibles = new Array();

    for (var i = 0; i < 2; i++) {
        for (var j = 0; j < 5; j++) {
            ciblesPossibles[i,j] = 1 + portee(i, j, ID, pos, carte.effet.portee) + duBonCote(i, ID, carte.effet.ciblesLegales);
        }
        console.log('1/ ciblesPossibles['+i+',x] = ' + ciblesPossibles[i,0] + ciblesPossibles[i,1] + ciblesPossibles[i,2] + ciblesPossibles[i,3] + ciblesPossibles[i,4]);
    }


    for (i = 0; i < 2; i++) {
        console.log('2/ ciblesPossibles['+i+',x] = ' + ciblesPossibles[i,0] + ciblesPossibles[i,1] + ciblesPossibles[i,2] + ciblesPossibles[i,3] + ciblesPossibles[i,4]);
    }

    var max = maxTab(ciblesPossibles);

    for (i = 0; i < 2; i++) {
        for (j = 0; j < 5; j++) {
            ciblesPossibles[i,j] = Math.floor(ciblesPossibles[i,j] / max);
            console.log(ciblesPossibles[i,j]);
        }
    } 

portee() 和 duBonCote() 是两个只返回 1 或 0 的函数。 当我在 console.log('/1...') 时,我有类似 33222 和 22211 的东西(这就是我想要的),但是当我在 console.log('/2... '), 我有 22211 和 22211 ...什么可以使我的数组中的第一行发生变化?

问候

最佳答案

二维数组的访问方式为a[i][j],而不是a[i,j]

后者将被视为逗号运算符的使用,并计算为 a[j],即一维矩阵。

你会想要更像的东西:

var ciblesPossibles = [];   // create array to hold rows - NB: not "new Array():
for (var i = 0; i < 2; i++) {
    ciblesPossibles[i] = [];    // create the individual row
    for (var j = 0; j < 5; j++) {
        ciblesPossibles[i][j] = ...
    }
}

关于javascript - 一个很奇怪的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26039558/

相关文章:

javascript - 为什么 localStorage 不持久存在于 Chrome 中?

Java 8 : Filter an Array(NxM) to create a Map<String, 哈希集<字符串>>

javascript - 如何找到一种过滤数组与另一个数组进行比较的方法

javascript - 如何使对象数组的搜索框在区分大小写且无空格的情况下使用react

arrays - Haskell Data.Vector.Storable.unsafeFromForeignPtr 与 C 结构指针/数组字段

python - 计算 numpy 数组中的出现次数

javascript - Jquery 变量未设置

javascript - 如何在基于类的组件中设置 displayName?

javascript - 如果可以评估它并防止异常,如何安全地使用 eval() javascript 来获得指示?

javascript - 在 VSCode 中进行 Firefox 插件开发的 Intellisense