對於模糊查詢,一般都是傳關鍵字給後端,由後端來做。但有時候一些輕量級的列表前端來做可以減少ajax請求,在一定程度上提高用戶體驗。廢話不多說,直接上程式碼。
//字符串方法indexOf var len = list.length; var arr = []; for(var i=0;i<len;i++){ //如果字符串中不包含目标字符会返回-1 if(list[i].indexOf(keyWord)>=0){ arr.push(list[i]); } } return arr;
//正则表达式 var len = list.length; var arr = []; var reg = new RegExp(keyWord); for(var i=0;i<len;i++){ //如果字符串中不包含目标字符会返回-1 if(list[i].match(reg)){ arr.push(list[i]); } } return arr;
首先要明白什麼是模糊查詢(廢話又來了),就是根據關鍵字把清單中符合關鍵字的羅列出來(當然這裡只做了最簡單的) ,也就是要檢查清單的每一項中是否含有關鍵字,因此抽像一下就是一個字串中是否含有某個字元或字串。
有了思路,接下來就是去實作了,用什麼方法呢,學js的基本資料型別時我們會發現String有很多方法,其中有個方法string.indexOf('');這個方法是找出字串中某個字元的位置,而如果沒有目標字元會回傳-1。所以我們可以用這個方法去檢查清單中每一項是否含有關鍵字。接下來就是很強大的RegExp,正規表達式去匹配字串的目標字符,這裡用了match方法,匹配不到返回空,當然其他幾個方法也有實現方式,此處不再羅列。
相關推薦:
以上是js實作前端模糊查詢詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!