js中includes()、indexOf()、search()、match()几种方法的区别

includes()

includes() 方法用来判断一个数组(或字符串)是否包含一个指定的值,如果是则返回 true,否则返回false。

let d = [‘a’,‘b’,‘c’].includes(‘a’)
console.log(d); //true
1
2

indexOf()

indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。

    let fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
    console.log(fruits.indexOf('Apple'));   //2

1
2

search()

search() 方法用于检索字字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1

    var str="Visit Runoob!"; 
    var n=str.search("Runoob");
    console.log(n);  //6

1
2
3

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

第一种用法:字符串匹配

    var strs = "hello world";
    var ret = strs.match("hello");
    console.log(ret); 

如果没有匹配到“hello”,则会返回null

第二种用法:正则表达式匹配

    var strss="1 plus 2 equal 3";
    var retss= strss.match(/\d+/g)
    console.log(retss);

注意:正则表达式的后面一定要加上g,这个标记这个retss的值是1,2,3 匹配所有的数字并用逗号隔开,否则返回null

小结:这两天复习js中的检索方法,由于没有认真去看,就导致了给这四种方法弄混淆了,写下本博客,用来区分这四种方法,前两种适合于数组中使用,后两种适合用于字符串,这四种方法在实现模糊查询功能时经常用到,所以大家务必要掌握这些方法.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScriptincludesindexOf是用于不同类型的数据结构的方法。 - includes方法用于数组,用于判断一个数组是否包含指定的值。如果数组包含该值,则返回true;否则返回false。这个方法可以判断数组是否包含NaN这样的特殊值。例如,对于数组`const arr = ['a','b',NaN]`,`arr.includes(NaN)`返回true,而`arr.includes('c')`返回false。 - indexOf方法用于字符串和数组,用于判断一个字符串或数组是否包含另一个字符串或值。如果存在,则返回该字符串或值的第一个索引。如果不存在,则返回-1。例如,对于字符串`var arr='asdfg'`,`arr.indexOf('s')`返回1。对于数组`const arr = ['a','b']`,`arr.indexOf('a')`返回0。 因此,includes方法主要用于判断数组是否包含指定的值,而indexOf方法主要用于查找字符串或数组是否包含另一个字符串或值,并返回它的索引。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [js includesindexOf区别](https://blog.csdn.net/xiasohuai/article/details/122828976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [indexofincludes、starstWith、endsWith的区别](https://download.csdn.net/download/weixin_38693528/14045234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值