在我的程序中,我必须将数组值与变量进行比较,但看起来我的数组只是将最后一个值与变量进行比较。我应该如何比较所有这些?
以下是代码:
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'进行比较。任何的想法?
由于
答案 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;
}
}
如果找到了,则退出循环