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

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

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

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

補充:js中includes() 和indexOf() 兩方法區(qū)分
描述
- includes() ---- 判斷一個數(shù)組是否包含一個指定的值。支持ES5語法
- indexOf() ---- 搜索數(shù)組中的元素,并返回它所在的位置。支持ES6語法
使用與返回值(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() 返回查找元素下標,沒有返回-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
關于+0、-0,兩種方法都不區(qū)分正負
瀏覽器兼容性
- includes()
chrome47 - firefox43 - safria9 - opera34 - ie14 - indexOf()
ie8及早版本不支持除外,其他都支持
所以indexOf的兼容性相對較好
總結
到此這篇關于js中常用的4種模糊查詢(includes()、indexOf()、search()、match())的文章就介紹到這了,更多相關js常用模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript綁定事件監(jiān)聽函數(shù)的通用方法
這篇文章主要為大家詳細介紹了JavaScript綁定事件監(jiān)聽函數(shù)的通用方法,感興趣的朋友可以參考一下2016-05-05
Javascript數(shù)組及類數(shù)組相關原理詳解
這篇文章主要介紹了Javascript數(shù)組及類數(shù)組相關原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
解析利用javascript如何判斷一個數(shù)為素數(shù)
本文主要分享了利用javascript如何判斷一個數(shù)為素數(shù)的具體實例代碼,有需要的朋友可以作為參考看下2016-12-12

