2014-12-13 106 views
0

在我的程序中,我必須將數組值與一個變量進行比較,但它看起來像我的數組只是將最後一個值與變量進行比較。我應該如何進行比較所有這些?Javascript:將數組值與一個變量比較

下面是代碼:

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'進行比較。任何想法?

感謝

+1

請發表您所有的代碼,特別是讓你相信,只有6相比,你clickedX代碼。 – null 2014-12-13 13:13:26

+0

什麼是「佔用」應該代表for循環結束?是否有任何點碰撞? – Abovestand 2014-12-13 13:14:21

回答

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,但一旦真實永遠不會返回false。

0

也許..

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

如果發現佔用的,退出循環