我想解決這個挑戰的FreeCodeCamp挑戰,我遇到了一個問題,我不知道如何解決。問題與輸入表單和循環通過一個對象
這是對Codepen一個鏈接,我已經把我的所有代碼:Click here
基本上問題是與最後一個函數,用來通過用戶列表來搜索一個。 我已經這樣做了,只要搜索表單的值發生變化,它就會遍歷用戶對象並隱藏那些不包含任何插入字符的對象。
整個代碼工作得很好,特別是因爲我是console.log()
- 函數中變量的所有變體,但在前端端,它在兩次迭代後停止。例如,如果我搜索Nelari,在插入N
之後,代碼將隱藏大部分用戶,而當我鍵入e
時隱藏了更多用戶,但在這兩次迭代之後它會停止。在控制檯上它會繼續,直到最後結束時纔會返回正確的結果,但在前臺停止。
除此之外,我已經注意到即使是某些顯示用戶在我所搜索的內容中是正確的,它也會保留一些不包含我放入的任何字符的內容。
爲了簡單起見,我會在這裏把函數代碼太:
`
// SEARCH FORM
window.addEventListener('input', function (e) {
var searchQuery = $("input").val().toLowerCase().replace(/[^A-Z0-9_]/ig, "");
search(Acc, searchQuery);
}, false);
function search (accounts, what) {
console.log(what);
if (what.length > 0) {
Object.keys(accounts).forEach(function(key) {
var IDD = "." + key;
console.log(IDD)
accQuery = key.toLowerCase();
console.log(accQuery);
if (accQuery) {
if (accQuery.indexOf(what) >= 0) {
$(IDD).css({"display": "block"});
console.log("FOUND!");
};
if (accQuery.indexOf(what) == -1) {
$(IDD).css({"display": "none"});
console.log("NOT FOUND!");
};
};
});
}
else if (what.length < 1) {
Object.keys(accounts).forEach(function(key) {
var IID = "." + key;
$(IID).css({"display": "block"});
});
};
};`
你我的朋友是個天才,我不能相信我沒有注意到!非常感謝! –