總之,我試圖建立一個發誓過濾器,我有一個名爲「badWords」的靜態數組,其中包含許多褻瀆的詞。JavaScript將一個數組中的實例與整個其他數組進行比較?
然後,我的腳本將所有文本值從表單提取到另一個名爲「fieldValues」的數組中。
然後它遍歷fieldValues並將字符串值與「badWords」的整個數組進行比較,如果發現現在觸發一個簡單的響應。
代碼沒有產生任何錯誤,但它也沒有產生預期的輸出結果,我希望你能讓我知道我在哪裏出錯了。
代碼
// get all the inputs from "editor_form"
var $inputs = $('#editor_form :input');
var fieldValues = new Array();
var i = 0;
//for each field place it in array
$inputs.each(function()
{
fieldValues[i] = $(this).val();
i++;
});
var swearWord;
for (i = 0; i < fieldValues.length; i++)
{
if (fieldValues[i] == function()
{
//this bit i think is wrong, i think it only does one loop in this level then jumps back up
for (x = 0; x < badWords.length; x++)
{
return badWords[x];
}
})
//warning message
{
window.alert("Bad word found");
}
}
感謝
嗯爲什麼我的問題得到downvoted? – kaleeway
我沒有downvote,但你注意到它的格式化得到了改進後,現在閱讀起來更容易嗎? –
修正了上述問題之後,下一步如果用戶在同一個字段中輸入多個單詞,會發生什麼情況?你會得到一個''fieldValues'數組入口,其中包含一個像''三個壞字''這樣的字符串,但是將它與'badWords'數組中的一個字進行比較將不會匹配'=='。 – nnnnnn