JS中indexOf的用法 「建议收藏」

JS中indexOf的用法 「建议收藏」String.IndexOf(Char,[startIndex],[count]):返回指定字符在原字符串中的第一个匹配项的索引。可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回

大家好,又见面了,我是你们的朋友全栈君。

String.IndexOf(Char, [startIndex], [count]):返回指定字符在原字符串中的第一个匹配项的索引。可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回 -1。也可以判断数组中是否包含某个值。

示例1:查找字符串中某一字符从头开始第一次出现的索引

var str = "Hello world!"
console.log(str.indexOf("o")) //4
console.log(str.indexOf("Hello")) //0
console.log(str.indexOf("World")) //-1
console.log(str.indexOf("world")) //6

需要注意的是,当匹配到一个字符串时,会返回字符串中第一个字符的索引,如上例匹配word时,返回的是6。

示例2:查找字符串中某一字符从指定位置开始第一次出现的索引

var str = "Hello world! wo shi ooo"
console.log(str.indexOf("o",8)) //14

有indexOf,也就有lastIndexOf,它和indecOf相反,是匹配字符串最后一次出现的索引

var str = "Hello world! wo shi oll"
onsole.log(str.indexOf("o")) //4
console.log(str.lastIndexOf("o")) //20

对应indexOf和lastIndexOf,通常用在判断字符串中是否包含某个字符的情景中:

var str = "Hello world! wo shi oll"
console.log(str.indexOf("World") == -1) //true
console.log(str.indexOf("world") == -1) //false

 示例3:判断数组中是否包含某个元素

const arr = [1,5,3,8,22]
console.log(arr.indexOf(2))//不存在,返回-1
console.log(arr.indexOf(8))//存在,返回索引3

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154353.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql数据类型有哪几种_数据库 数据类型

    mysql数据类型有哪几种_数据库 数据类型Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。整数浮点数&定点数注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。时间/日期类型字符串类型blog-二进制大对象,用来存储可变数量的数据。…

    2026年2月1日
    3
  • mysql数据库忘记密码时如何修改(本地)「建议收藏」

    mysql数据库忘记密码时如何修改(本地)「建议收藏」mysql数据库忘记密码时如何修改(本地)

    2022年4月24日
    60
  • Python十大装B语法「建议收藏」

    Python十大装B语法「建议收藏」Python是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视Python语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现Python语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。

    2022年6月2日
    44
  • 彻底解决git clone以及 recursive慢的问题

    彻底解决git clone以及 recursive慢的问题gitclone龟速已然成为常态,甚至使用科学上网的办法也无法有效解决。看过很多种方法,例如,改hosts,换镜像等,这些对于我来说并不好使,以及介绍的的确确游有用的办法。1.使用码云,将github里的仓库拉到码云中去,然后在码云下载,速度就很快。对于一般的项目而言,这样就足够了,但是对于有很多子模块的项目而言,由于子模块链接的地址皆指向github,因此,对于gitsubmoduleupdate–init–recursive而言仍是龟,因此,接下来就是方法22.在gitclone的

    2022年7月21日
    20
  • Typora ——一款Markdown编辑器入门教程

    Typora ——一款Markdown编辑器入门教程Typora——Markdown编辑器入门教程附上目录:文章目录Typora——Markdown编辑器入门教程一.序二.前言那么,什么是富文本格式?什么是Markdown?**Markdown编辑器和常见的富文本编辑器有什么区别?**二.Typora简介什么是Typora?当然,typora的魅力不止于此:三.Typora的安装四.配合扩展体验更佳1.配合Pandoc扩展程序实现导出2…

    2022年5月18日
    48
  • Vue响应式实现原理[通俗易懂]

    Vue响应式实现原理[通俗易懂]Vue响应式原理Vue是数据驱动视图实现双向绑定的一种前端框架,采用的是非入侵性的响应式系统,不需要采用新的语法(扩展语法或者新的数据结构)实现对象(model)和视图(view)的自动更新,数据层(Model)仅仅是普通的Javascript对象,当Modle更新后view层自动完成更新,同理view层修改会导致model层数据更新。双向绑定实现机制Vue的双向绑定实现机制核心:依赖于Object.defineProperty()实现数据劫持订阅模式Object.defineProper

    2022年5月18日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号