首先要明白什么是模糊查詢(廢話又來了),就是根據(jù)關(guān)鍵字把列表中符合關(guān)鍵字的羅列出來(當(dāng)然這里只做了最簡(jiǎn)單的),也就是要檢查列表的每一項(xiàng)中是否含有關(guān)鍵字,因此抽象一下就是一個(gè)字符串中是否含有某個(gè)字符或者字符串。
有了思路,接下來就是去實(shí)現(xiàn)了,用什么方法呢,學(xué)js的基本數(shù)據(jù)類型時(shí)我們會(huì)發(fā)現(xiàn)String有很多方法,其中有個(gè)方法string.indexOf('');這個(gè)方法是找出字符串中某個(gè)字符的位置,而如果沒有目標(biāo)字符會(huì)返回-1。所以我們可以用這個(gè)方法去檢查列表中每一項(xiàng)是否含有關(guān)鍵字。接下來就是很強(qiáng)大的RegExp,正則表達(dá)式去匹配字符串的目標(biāo)字符,這里用了match方法,匹配不到返回空,當(dāng)然其他幾個(gè)方法也有實(shí)現(xiàn)方式,此處不再羅列。
//字符串方法indexOf var len = list.length; var arr = []; for(var i=0;i<len;i++){ //如果字符串中不包含目標(biāo)字符會(huì)返回-1 if(list[i].indexOf(keyWord)>=0){ arr.push(list[i]); } } return arr; //正則表達(dá)式 var len = list.length; var arr = []; var reg = new RegExp(keyWord); for(var i=0;i<len;i++){ //如果字符串中不包含目標(biāo)字符會(huì)返回-1 if(list[i].match(reg)){ arr.push(list[i]); } } return arr;
相關(guān)推薦:
AngularJS模糊查詢功能實(shí)現(xiàn)代碼
php 模糊查詢的實(shí)現(xiàn)方法
php中模糊查詢是什么
以上就是js前端模糊查詢實(shí)現(xiàn)代碼的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!