目录
  • includes()
  • indexOf()
  • search()
  • match()
  • 补充:js中includes() 和indexOf() 两方法区分
    • 描述
    • 使用与返回值(undefined、NaN需特殊注意)
    • 浏览器兼容性
  • 总结

    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常用模糊查询内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

    您可能感兴趣的文章:

    • js数组高阶函数之includes()方法总结
    • JavaScript中字符串与数组的includes()用法
    • javascript数组includes、reduce的基本使用
    • js includes方法的使用小结