Javascript 非常奇怪的数组

Javascript 非常奇怪的数组,javascript,arrays,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, p

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

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]);
        }
    } 
var ciblesPossibles=new Array();
对于(变量i=0;i<2;i++){
对于(var j=0;j<5;j++){
ciblesPossibles[i,j]=1+portee(i,j,ID,pos,carte.effet.portee)+duBonCote(i,ID,carte.effet.ciblesLegales);
}
log('1/ciblesPossibles['+i+',x]='+ciblesPossibles[i,0]+ciblesPossibles[i,1]+ciblesPossibles[i,2]+ciblesPossibles[i,3]+ciblesPossibles[i,4]);
}
对于(i=0;i<2;i++){
log('2/ciblesPossibles['+i+',x]='+ciblesPossibles[i,0]+ciblesPossibles[i,1]+ciblesPossibles[i,2]+ciblesPossibles[i,3]+ciblesPossibles[i,4]);
}
var max=maxTab(ciblesPossibles);
对于(i=0;i<2;i++){
对于(j=0;j<5;j++){
ciblesPossibles[i,j]=数学地板(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] = ...
    }
}
var ciblesPossibles=[];//创建数组以容纳行-注意:不是“新建数组():
对于(变量i=0;i<2;i++){
ciblesPossibles[i]=[];//创建单个行
对于(var j=0;j<5;j++){
公共物品[i][j]=。。。
}
}

我知道javascript数组是如何工作的……谢谢你的回答!