js中常用的4种模糊查询详解(includes()、indexOf()、search()、match())
includes()
includes() 方法用来判断一个数组或字符串是否包含一个指定的值,如果是则返回 true,否则返回false。
indexOf()
indexOf() 方法可返回数组或字符串中某个指定的元素位置。
在数组中该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。
在字符串中,与在数组中不同之处在与,当在字符串中寻找的是空字符串时,返回值为0,而不是-1
search()
search() 方法用于检索字字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1
当在字符串中寻找的是空字符串时,返回值为0,而不是-1
match()
在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
有的话以阵列回传,否则回传 null
其中查找为空字符串时,index返回值也为0
补充:js中includes() 和indexOf() 两方法区分
描述
- includes() ---- 判断一个数组是否包含一个指定的值。支持ES5语法
- indexOf() ---- 搜索数组中的元素,并返回它所在的位置。支持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,两种方法都不区分正负
浏览器兼容性
- includes()
chrome47 - firefox43 - safria9 - opera34 - ie14 - indexOf()
ie8及早版本不支持除外,其他都支持
所以indexOf的兼容性相对较好
总结
到此这篇关于js中常用的4种模糊查询(includes()、indexOf()、search()、match())的文章就介绍到这了,更多相关js常用模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
javascript的document中的动态添加标签实现方法
下面小编就为大家带来一篇浅谈javascript的document中的动态添加标签实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-10JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
这篇文章主要介绍了JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt,需要的朋友可以参考下2015-11-11解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,爱其他浏览器中兼容性还不错 结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,本文将提供详细的解决方法2012-11-11ECHO.js 纯javascript轻量级延迟加载的实例代码
下面小编就为大家带来一篇ECHO.js 纯javascript轻量级延迟加载的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-05-05修复ie8&chrome下window的resize事件多次执行
window.onresize 事件 专用事件绑定器 v0.1,用于解决 lte ie8 & chrome 及其他可能会出现的 原生 window.resize 事件多次执行的 BUG.2011-10-10
最新评论