js中常用的4種模糊查詢?cè)斀?includes()、indexOf()、search()、match())
includes()
includes() 方法用來(lái)判斷一個(gè)數(shù)組或字符串是否包含一個(gè)指定的值,如果是則返回 true,否則返回false。

indexOf()
indexOf() 方法可返回?cái)?shù)組或字符串中某個(gè)指定的元素位置。
在數(shù)組中該方法將從頭到尾地檢索數(shù)組,看它是否含有對(duì)應(yīng)的元素。開(kāi)始檢索的位置在數(shù)組 start 處或數(shù)組的開(kāi)頭(沒(méi)有指定 start 參數(shù)時(shí))。如果找到一個(gè) item,則返回 item 的第一次出現(xiàn)的位置。開(kāi)始位置的索引為 0。
如果在數(shù)組中沒(méi)找到指定元素則返回 -1。
在字符串中,與在數(shù)組中不同之處在與,當(dāng)在字符串中尋找的是空字符串時(shí),返回值為0,而不是-1

search()
search() 方法用于檢索字字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。
如果沒(méi)有找到任何匹配的子串,則返回 -1
當(dāng)在字符串中尋找的是空字符串時(shí),返回值為0,而不是-1

match()
在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配
有的話以陣列回傳,否則回傳 null
其中查找為空字符串時(shí),index返回值也為0

補(bǔ)充:js中includes() 和indexOf() 兩方法區(qū)分
描述
- includes() ---- 判斷一個(gè)數(shù)組是否包含一個(gè)指定的值。支持ES5語(yǔ)法
- indexOf() ---- 搜索數(shù)組中的元素,并返回它所在的位置。支持ES6語(yǔ)法
使用與返回值(undefined、NaN需特殊注意)
- includes() 返回值true / false
let arr = [1,2,'san',4,,NaN];
console.log(arr.includes('san')); //true
console.log(arr.includes(6)); //false
console.log(arr.includes(undefined)); //true
console.log(arr.includes(NaN)); //true
- indexOf() 返回查找元素下標(biāo),沒(méi)有返回-1
var arr = [1,2,'san',4,,NaN];
console.log(arr.indexOf('san')); //2
console.log(arr.indexOf(6)); //-1
console.log(arr.includes(undefined)); //-1
console.log(arr.includes(NaN)); //-1
var arr2 = [1,undefined];
console.log(arr2.indexOf(undefined)); // 1
關(guān)于+0、-0,兩種方法都不區(qū)分正負(fù)
瀏覽器兼容性
- includes()
chrome47 - firefox43 - safria9 - opera34 - ie14 - indexOf()
ie8及早版本不支持除外,其他都支持
所以indexOf的兼容性相對(duì)較好
總結(jié)
到此這篇關(guān)于js中常用的4種模糊查詢(includes()、indexOf()、search()、match())的文章就介紹到這了,更多相關(guān)js常用模糊查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
前端實(shí)現(xiàn)水印功能的幾種方法及優(yōu)缺點(diǎn)
這篇文章主要介紹了前端開(kāi)發(fā)中實(shí)現(xiàn)網(wǎng)頁(yè)或圖像水印的六種方法,包括使用CSS背景圖、HTML5?Canvas、SVG、圖片處理庫(kù)、HTML?DOM元素以及后端生成,每種方法都有其優(yōu)缺點(diǎn),適用于不同的場(chǎng)景,需要的朋友可以參考下2025-01-01
微信小程序通過(guò)點(diǎn)擊事件跨頁(yè)面?zhèn)鲄⒓癲ata-方法傳參(data-)的示例詳解
在?vue?中,我們可以直接在點(diǎn)擊事件中放入傳遞的參數(shù)進(jìn)行傳參;然而微信小程序中并不適用這樣的寫(xiě)法,但是微信小程序可以通過(guò)自定義屬性從而綁定參數(shù)使用,這篇文章主要介紹了微信小程序通過(guò)點(diǎn)擊事件跨頁(yè)面?zhèn)鲄⒁约癲ata-方法傳參(data-),需要的朋友可以參考下2023-12-12
JavaScript實(shí)現(xiàn)視頻轉(zhuǎn)GIF的示例代碼
這篇文章主要介紹了JavaScript實(shí)現(xiàn)視頻轉(zhuǎn)GIF,本文一共會(huì)按照以下三步去實(shí)現(xiàn)一個(gè)視頻轉(zhuǎn)?GIF?功能,解封裝視頻,從視頻文件中獲取視頻幀,解碼視頻幀,獲取幀圖像信息,拼裝幀圖像信息,生成?GIF,需要的朋友可以參考下2024-03-03
JavaScript實(shí)現(xiàn)瀏覽器不同標(biāo)簽頁(yè)通信的原理與實(shí)踐
這篇文章主要為大家詳細(xì)系統(tǒng)梳理了不同頁(yè)簽(Tab / Window / Frame)之間的通信手段以及具體的實(shí)現(xiàn)方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-08-08
js判斷iframe內(nèi)的網(wǎng)頁(yè)是否滾動(dòng)到底部觸發(fā)事件
這篇文章主要介紹了js判斷iframe內(nèi)的網(wǎng)頁(yè)是否滾動(dòng)到底部觸發(fā)事件,需要的朋友可以參考下2014-03-03
iview?date-picker?options只可選當(dāng)前日期之前的(當(dāng)前之后的禁用)
如果日期對(duì)象date的時(shí)間戳大于當(dāng)前時(shí)間的時(shí)間戳,則該日期在當(dāng)前日期之后,會(huì)被禁用,下面通過(guò)實(shí)例代碼給大家介紹iview?date-picker?options只可選當(dāng)前日期之前的,感興趣的朋友跟隨小編一起看看吧2024-12-12
詳解開(kāi)源的JavaScript插件化框架MinimaJS
這篇文章主要介紹了開(kāi)源的JavaScript插件化框架MinimaJS的詳解,詳細(xì)的介紹了MinimaJS的使用,具有一定的參考價(jià)值,有興趣的可以了解一下2017-10-10

