2013-04-13 68 views
0

在每一個關鍵的東西了,或者用戶類型的信後,我需要檢查它是否匹配或匹配兩個單字之一。如果鍵入的內容等於或者大於等於一個短語,我運行自定義失敗()函數。 如果匹配,那麼如果第一個單詞匹配,則運行帶有參數1的傳遞函數,如果第二個單詞匹配,則運行帶有參數2的傳遞函數。檢查的值輸入相匹配的每次擊鍵

現在,我與許多這樣if和else if是檢查語句是否值,使用.VAL(),===短語。 if語句位於頁面上唯一輸入的關鍵字函數中。

必須有一個更好的方式來做到這一點比所有這些比較報表。 可能在密鑰上檢查val是否開始匹配或匹配數組中的任何短語。如果它匹配任何一個短語,每個元素,然後在數組中運行pass(),該參數是數組+1中匹配字的索引。 當它等於長度或更長並且不等於數組中的任何短語時,運行fail()函數。

我該怎麼做?

或者如果您有更好的解決方案,請分享。

以下是會導致通過的事情: 'help'或 'search'。

事情會導致一個失敗: 「檢索算法」(起始匹配,但是在長度上相等,並且不匹配)時, lpeh(等於在長度和不匹配)」, 或‘自行車’ (長度相等且不匹配), 或'dealt'(長度更長且不匹配), 或'編輯器'(長度相等且不匹配), 或'magazine'(更長長度不匹配)。

感謝您的任何和所有幫助 - 我非常感激。

+1

請發表您的代碼,您可以更輕鬆地告訴這是怎麼回事。 – elclanrs

回答

1

試試這個:

  1. 請允許字符串數組。
  2. 遍歷數組。
    • 返回的數組索引(1)當輸入和陣列條目是相等的。如果
    • 退出array_entry.indexOf(輸入)爲0(即,輸入是陣列條目的開始)
  3. 呼叫失敗()當到達陣列的端部。
+0

我沒有得到#2的第二點意味着什麼,是爲了什麼,或者如何去做。另外,當它到達數組的末尾時會失敗,但是當它長於並且不匹配任何數組項時如何。 –

+0

我試過了,但是它在第一個字符輸入後立即執行失敗(),以防止用戶輸入所需的單詞來導致pass():for(var i = 0; i <=(matches.length) -1; i ++){if($('#code').val()=== matches [i]){pass(i + 1); } else if(i ===(matches.length)-1){fail(); }}'我只想在輸入的內容長度等於或大於長度而不是數組時輸入失敗。 –

+0

點2的第二部分確保用戶可以在仍然有可能獲得正確的單詞時繼續打字。退出時,我的意思是無論你做什麼都不是通過或失敗。可能是回報0?取決於你的代碼。 –