2015-05-29 32 views
0

我試圖創建一個函數,它將不斷地循環訪問一個數組,並檢查是否還有具有某個值的元素。如果沒有更多的這些元素,那麼我希望函數執行某個動作。我想查詢0。如果沒有什麼是= 0,那麼我想顯示一個圖像。這是我的,有什麼建議嗎?通過一個數組並檢查某些值?

function partiewin() { 
    // On verifie si il y a encore des cases avec pour valeur '0' et si non, on  fini la partie 

    var found = false; 
    for (i = 1; i <= hauteur; i++) { 
     for (j = 1; j <= largeur; j++) { 
      if (decor[i][j] != 0) { 
       window.alert("You win"); 
       found = 1; 
      } 
     } 
    } 
    if (!found) { 
    } 
} 

這是數組

var decor = new Array(hauteur); 
for (i = 0; i <= hauteur; i = i + 1) { 
    decor[i] = new Array(largeur); 
} 

該陣列是一個漫長的這種形狀的列表:

decor[1][1] = '24'; decor[1][2] = '21'; decor[4][8]='0' ; etc 

不應該工作的呢?由於您使用數組我沒有收到任何警報或任何回答任何一旦所有的「0」在技術上從地圖上消失了..

+2

問題是什麼?你有錯誤嗎? – Dzyann

+1

它工作嗎?如果不是,它以什麼方式不起作用? – leekaiinthesky

+0

那麼當在PACMAN遊戲中,所有的食物空間都消失了(一個空的空間是2,食物空間是0),我沒有看到窗口的警報。 – JuCho

回答

0

,嘗試陣列在foreach方法: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

在結束我想象你想通過嵌套的數組數組循環。

http://jsfiddle.net/TylersDesk/yg8ag0vq/

var arrayOfArrays = [ 
[2,1,2,3,4,5], 
[2,1,2,1,4,5], 
[8,1,2,3,4,5], 
[4,1,2,3,4,5], 
[2,1,2,3,4,5], 
[2,1,2,3,0,5],  
]; 

var flag = false; 


for (i=0; i<arrayOfArrays.length; i++) { 

    arrayOfArrays[i].forEach(function(value, index, array){ 
     console.log(value); 
     if (value === 0) { 
       console.log('Found a value'); 
       flag = true; 
     } 
    }); 
} 

if (flag) { 
//do work 
} 

有可能是您的宣佈這些陣列的方式的問題。例如,當你使用新的Array(numberOfIndexes)時,你可以設置該數組有多少個索引,但是你的螺母正好設置了任何VALUES。

所以看到這一點:

var hauteur = 40; 
var largeur = 20; 

var decor = new Array(hauteur); 
for (i=0; i <= hauteur; i=i+1) 
{ 
    decor[i] = new Array(largeur); 
} 

console.log(decor); 
console.log(decor[0][1]); 

如果傲慢和larguer是他們只是創建一個數組的數組沒有值的整數。

請記住,如果你傳遞一個單個值new Array(),其陣列,而不是價值的長度。要設置值,你需要做的是這樣new Array(value1, value2, value3,)

閱讀:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

我建議在一些日誌報表扔到你的代碼,以確保與陣列和更具體的具有值的陣列,你的工作。

+0

所以這將通過我的數組並檢查「0」? – JuCho

+0

@JuCho最後循環遍歷一個多嵌套數組。我已經更新了答案以及js小提琴。 – TyMayn

+0

不工作,我編輯我原來的帖子是更清晰 – JuCho

相關問題