首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符串匹配算法从indexOf函数讲起

前言 相信每个学习过Java的人都使用过indexOf函数indexOf函数我们可以查找一个字符串(模式串)是否在另一个字符串(主串)出现过,返回结果表示出现位置的下标,如果返回-1,表示模式串在主串中不存在...,那么,你可曾想过这些查找函数又是如何实现的呢?...从indexOf源码看起 首先我们先来看一下indexOf的源码,indexOf的使用方式比较多,这是我们以一个形参的为例。...(patternString, 0) + ""); } 运行上面代码的结果,返回的结果是17,说明模式串在主串中存在,并且第一次出现的位置下标是17 indexOf方法最终会走到下面方法中,源码如下所示...现在我们回过头看看indexOf的下半部分源码,我相信其实不用解释了。

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

JS中的indexOf方法

indexOf()简介 indexOf()是js中内置的方法之一,它的功能大家都很熟悉:简单来说就是得到数据的索引,对于正则不熟练的人,是个很不错的方法。...如果查询到返回索引,反之返回-1(固定用法); 因为indexOf()在不同类型使用的时候可能有细节性的注意点; 这里我们对不同数据类型使用IndexOf的场景进行讨论(其实就是string和array...) 注:(暂不讨论两个参数时(第二个参数为查询的起始位置),以及lastIndexOf()) String类型使用indexOf(); String中的indexOf方法 (话不多说直接上代码,不跟你多...BB) var s = '12345'; console.log(s.indexOf(1)); //0 console.log(s.indexOf('1')); /...//2 console.log(a.indexOf('4')); //3 console.log(a.indexOf(4)); //-1 可以看到array的indexOf

5.1K40

js indexOf 的正确用法「建议收藏」

indexOf在js中有着重要的作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1。...例如 var arr = [1, 2, 3]; console.log(arr.indexOf(2)); //打印结果为1 又或者 var str = "helloworld"; console.log...(str.indexOf("w")); //打印结果为5 那么,当想删除某个数组中的某个元素时,常常会这么写 var arr = [1, 2, 3]; var idx = arr.indexOf(2)...; arr.splice(idx,1); console.log(arr); 但是,indexOf真的就是好东西吗?...(arr2)); //打印结果为1 这下明白了,就是因为如果数组中存放的是对象或者数组的话,必须是该对象的引用,才可以使用indexOf得到正确的索引值。

1.4K30
领券