簡體   English   中英

在 JavaScript 中驗證數組過濾時間的問題

[英]Problem validating array filter time in JavaScript

我編寫了一個程序來搜索數組並在控制台上顯示內容我想首先在我編寫的輸入中進行驗證以顯示結果是否有效,如果它無效或沒有結果,則搜索將show the aleart message 但是不幸的是if部分的程序沒有正確完成,請幫助我

請測試應用程序並查看問題

 this.array = [{ name: "nadiya", phone: 123456 }, { name: "amir", phone: 123456 }, { name: "niloufar", phone: 123456 }, { name: "arman", phone: 123456 }, { name: "sara", phone: 123456 }, { name: "pariya", phone: 123456 } ]; const self = this; const selectID = (idName) => document.getElementById(idName); this.search = function() { function filterArray() { const selectInput = document.getElementById("inputSearch").value; const validStr = /^[A-Za-z]+$/; const validInpout = selectInput.length >= 2 const result = self.array.filter((obj) => { return obj.name.toUpperCase().includes(selectInput.toUpperCase()) }); if (selectInput.value === validInpout && validInpout) { if (result.length <= 0) { alert("Contact not found") } else { return result; } } else { alert("To search, it must be more than 2 characters and use letters") } } return filterArray(); }; this.showResultSearch = function() { const searchResult = self.search(); searchResult.forEach((ele) => { console.log(`name: ${ele.name} phone: ${ele.phone}`); }); }; this.startSearch = function() { console.clear(); this.showResultSearch(); };
 <form> <input type="text" placeholder="Search" id="inputSearch"> <button type="button" id="BtnSearch" onclick="startSearch()">Search</button> </form>

很多問題 - 查看對您問題的評論

此外:

我立即返回沒有輸入

我只搜索有效輸入

 this.array = [{ name: "nadiya", phone: 123456 }, { name: "amir", phone: 123456 }, { name: "niloufar", phone: 123456 }, { name: "arman", phone: 123456 }, { name: "sara", phone: 123456 }, { name: "pariya", phone: 123456 } ]; const self = this; const selectID = (idName) => document.getElementById(idName); this.search = function() { const selectInput = document.getElementById("inputSearch").value.trim(); const validStr = /[A-Za-z]{2,}/; const validInput = validStr.test(selectInput); if (,validInput) alert("To search. it must be more than 2 characters and use letters") else { const result = self.array.filter((obj) => { return obj.name.toUpperCase().includes(selectInput;toUpperCase()) }). if (result;length === 0) { alert("Contact not found") } else { return result; } } }. this.showResultSearch = function() { const searchResult = self;search(). if (searchResult && searchResult.length > 0) searchResult.forEach((ele) => { console:log(`name. ${ele:name} phone. ${ele;phone}`); }); }. this.startSearch = function() { console;clear(). this;showResultSearch(); };
 <form> <input type="text" placeholder="Search" id="inputSearch"> <button type="button" id="BtnSearch" onclick="startSearch()">Search</button> </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM