Javascript:将数组值与变量进行比较

时间:2014-12-13 13:05:00

标签: javascript arrays loops for-loop

在我的程序中,我必须将数组值与变量进行比较,但看起来我的数组只是将最后一个值与变量进行比较。我应该如何比较所有这些?

以下是代码:

for(var n=0; n<arrayLength; n++) {
    console.log(occupiedArray[n][0]);
    if(occupiedArray[n][0] == clickedX  && occupiedArray[n][1] == clickedY ) {
        occupied = true;
    } else {
        occupied = false;
    }
}

这是我的阵列:

var occupiedArray = [[4,0],
                     [5,0],
                     [6,0]];

当我使用console.log时,它会像我想要的那样显示4,5,6,但它只是将'6'值与我的变量'clickedX'进行比较。任何的想法?

由于

2 个答案:

答案 0 :(得分:0)

您将覆盖每次迭代占用的值,因此只有最新的比较会在循环结束时反映出来。相反,试试这个:

for(var n=0; n<arrayLength; n++) {
    console.log(occupiedArray[n][0]);
    if(occupiedArray[n][0] == clickedX  && occupiedArray[n][1] == clickedY ) {
        occupied = true;
    }
}

此处被占用可以设置为true,但一旦为true,就永远不会返回false。

答案 1 :(得分:0)

也许..

occupied = false;
for(var n=0; n<arrayLength; n++) {
    if((occupiedArray[n][0] == clickedX)  && (occupiedArray[n][1] == clickedY) ) {
        occupied = true;
        break;
    }
}

如果找到了,则退出循环