私はFreeCodeCampチャレンジのこの課題を解決しようとしていますが、私はどのように解決するのか分かりません。オブジェクトを介した入力フォームとループの問題
これは私がすべての私のコードを入れているCodepenへのリンクです:Click here
基本的に問題は最後の関数、ユーザのリストを検索するために使用されるものです。 私は、検索フォームの値が変更されるたびに、ユーザーオブジェクトをループし、挿入された文字のいずれも含まないものを隠すようにしました。
私はconsole.log()
ですから、関数内の変数のすべてのバリエーションがありますが、フロントエンド側では2回の繰り返しの後に停止します。たとえば、Nelariを検索した場合、コードはN
を挿入した後でほとんどのユーザーを隠し、e
と入力するとさらに多くのユーザーが表示されなくなりますが、この2回の繰り返しが終了するとユーザーは非表示になります。コンソール上ではそれが続き、最後まで正しい結果を返しますが、フロントサイトでは停止します。
それ以外にも、私が検索したユーザーの一部であっても、私が入力した文字を含まないもの。簡単にするために
私もここで機能コードを入れます:
`
// 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"});
});
};
};`
私の友人は天才です、私はそれが気付かなかったと信じることができません!どうもありがとう! –