JavaScript中indexOf()方法详解与使用示例
本文详细介绍JavaScript中indexOf()方法的语法、参数及返回值。通过字符串和数组的多个实例,演示如何查找字符或元素的首次出现索引,并说明未找到时返回-1的情况。此外,补充了不区分大小写的实现思路及lastIndexOf的用法,帮助开发者准确掌握索引定位技巧。
语法:
String.IndexOf(Char, [startIndex], [count]):
定义
该方法用于返回指定字符在原字符串中首次匹配项的索引位置。如果省略第二个参数,检索将从字符串的起始位置开始。
用户可以指定从特定位置开始检索,并限定检索的字符数量。如果在指定范围内未找到该字符,方法将返回 -1。
此外,indexOf 也可用于判断数组中是否包含某个特定值。
用法及实例
示例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,它用于匹配字符串最后一次出现的位置索引。
var str = “Hello world! wo shi oll”
onsole.log(str.indexOf(“o”)) //4
console.log(str.lastIndexOf(“o”)) //20`实例三:判断字符串中是否包含某个字符的情景中:
var str = "Hello world! wo shi oll"
console.log(str.indexOf("World") == -1) //true
console.log(str.indexOf("world") == -1) //false示例4:判断数组中是否包含某个元素
const arr = [1,5,3,8,22]
console.log(arr.indexOf(2))//不存在,返回-1
console.log(arr.indexOf(8))//存在,返回索引3补充知识:不区分大小写的 javascript indexOf
<script language=javascript>
/*
作者:阿牛(牛昆亮) QQ:273352165 MSN:niukl@hotmail.com
声明:可以免费使用,请您保留此信息
如果您有什么改过,记得告诉我!
*/
String.prototype._indexOf = String.prototype.indexOf;
String.prototype.indexOf = function()
{
if(typeof(arguments[arguments.length - 1]) != 'boolean')
return this._indexOf.apply(this,arguments);
else
{
var bi = arguments[arguments.length - 1];
var thisObj = this;
var idx = 0;
if(typeof(arguments[arguments.length - 2]) == 'number')
{
idx = arguments[arguments.length - 2];
thisObj = this.substr(idx);
}
var re = new RegExp(arguments[0],bi?'i':'');
var r = thisObj.match(re);
return r==null?-1:r.index + idx;
}
}
alert("bcssssasdfsdf".indexOf('A',3,true));
alert("bcssssasdfsdf".indexOf('a',3));
</script>总结
到此这篇关于js中indexOf()简单使用的文章就介绍到这了,更多相关js indexOf()使用内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
JS使用constructor判断数据类型可靠吗
2026-11-05 13:49:41
