2016-03-09 95 views
4

在JavaScript/JQuery中處理TicTacToe。初學者程序員,但無法在網上找到。JavaScript - 檢查數組中的所有值是否爲空 - Array/Each/

此刻我有一個名爲「game_board」的正常數組。該數組有9個值,它們是0-8。這不是'哈希'。

我正在尋找一個循環或類似的檢查,如果數組中的所有值不爲空。如果「game_board」數組中的所有值都不爲空,則代碼應該執行諸如[Alert(「Draw」)]之類的操作。如果數組中的任何值都有值,則該函數不應該執行任何操作。

這是我的代碼嘗試。任何想法都會令人敬畏。我的嘗試是循環如果找到空值就會中斷的理論。如果它沒有找到空值,它將轉到ELSE並報告'繪製'

// check draw 
for (var p = 0; p < 9; p++) { 
    if (game_board[p] === null) { 
     break; 
    } 
    else { 
     alert("Draw"); 
    } 
} 

非常感謝。我知道這可能是一個基本問題,但非常感謝任何答案。

請原諒我的新鮮事!不是100%確定的邏輯。也許與JQuery的東西將有所幫助!

+0

您是否希望僅在列表中的項*爲空*的情況下才會發生警報? – towerofnix

+0

是的謝謝:)。想象一下TicTacToe有9個廣場,沒有贏家:P –

回答

11

使用Array.some檢查,如果任何值都null

var isAtLeastOneNull = game_board.some(function(i) { return i === null; }); 

或者,使用Array.every做相反的檢查:

var areAllNotNull = game_board.every(function(i) { return i !== null; }); 

演示:

var game_board = [true, true, true, true, true, true, true, null, true]; 
 

 
document.writeln('There is at least one null item: ' + game_board.some(function(i) { return i === null; })); 
 
document.writeln('<br />'); 
 

 
game_board = [true, true, true, true, true, true, true, true, true]; 
 

 
document.writeln('There is at least one null item: ' + game_board.some(function(i) { return i === null; }));

+0

這聽起來很棒。我只是想讓它起作用! –

+0

我想我一定是金魚。或者可能已經太晚了!這是我怎麼做你的解決方案? var isAtLeastOneNull = game_board.some(function(p){return p === null;}); \t如果(isAtLeastOneNull = FALSE){ \t \t警報( 「畫」) \t} –

+0

這已經很接近 - 只是改變'(isAtLeastOneNull = FALSE)''到(isAtLeastOneNull ===假)'。甚至更好,'(!isAtLeastOneNull)'。 –

相關問題