2012-07-26 243 views
0

我創建一個遊戲,我需要在字典中的文本文件來比較字(即玩家通過 採摘字母構成的),以一個字來比較字的元素。我已經將文本文件中的所有文字 放入數組中。有沒有辦法在一個數組

var words = []; 
$(document).ready(function() 
{ 
    $.get("greaterthan3.txt", function(txt) 
      { 
       words = txt.split("\n"); //get array of all words 

      }); 
}); 

每當我嘗試我創建的Word(VAR completedWord =「「)的單詞比較在我的陣列, 沒有任何反應。以下代碼位於按鈕點擊功能中。

if(completedWord == words[0]) 
    { 
     alert("correct word"); 
    } 

是否有任何方法可以比較一個單詞與數組中的元素?

非常感謝

/////////////////////////////////////// ////////////////////////////////////

嗨,大家好,這是我的新代碼按鈕點擊方法。

$(function() 
{ 
$("#playButton").on("click",function() 
       { 
        for(var k = 0; k < words.length; k++) 
        { 
        if(completedWord == words[k]) 
        { 
         alert("hi"); 
        } 

        } 

        if($.inArray(completedWord,words) > -1) 
        { 
        alert(completedWord + " is in array"); 
        } 

       }); 

}); 

我已經意識到,辦理入住手續時,如果我的completedWord變量是在我的數組變量,如果我在最後一個字在我的文本文件類型的警報顯示。

有什麼辦法解決它,以便它可以檢查我的數組中的所有單詞而不是我的數組的最後一個元素。

感謝您的幫助。

+0

你想比較'completedWord'與數組中的特定單詞,還是檢查數組中的任何單詞是否匹配? – 2012-07-26 12:21:49

+0

請仔細閱讀本: http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – kannix 2012-07-26 12:24:33

+0

其中任何一個就可以了詹姆斯,感謝。 – 2012-07-26 13:28:28

回答

2

我會建議使用jQuery.inArray function來查看您的單詞數組是否包含用戶猜測的單詞。

var words = ["one", "two", "banana", "floor", "three"]; 
var guess = "banana"; 
if($.inArray(guess, words) > -1) { 
    alert(guess + " is in the array!"); 
} 

$.inArray(item, array)返回item索引中array - 如果item不返回-1陣列中存在。

工作例如:http://jsfiddle.net/BZUET/12/

+0

任何你推薦使用'jQuery.inArray()'作爲標準'Array.indexOf()'方法的原因,就像if(words.indexOf(guess)> -1){...}'? – 2012-07-26 12:29:35

+0

是的 - indexOf不會在大多數Internet Explorer版本中工作。 :)當然,如果你想使用'標準'的方法,你可以修復它:http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/ – 2012-07-26 12:30:30

+0

感謝您的幫助,您的示例工程即使我用guessWord替代guess,但是卻沒有顯示當我用你的單詞數組從上面插入我的單詞數組時的警告。我將單詞設置爲var words = [];然後我做了上述。有沒有什麼理由爲什麼這不適合我。感謝所有人的幫助。 – 2012-07-26 13:24:48

0

您可以使用Hashtable.Contains()或Dictionary.ContainsValue()用於此目的。

相關問題