2024-06-15 10:47AM
indexOf是JavaScript中的一个字符串方法,用于返回一个指定子字符在字符串中首次出现的位置,如果没有找到子字符串,则返回 -1;如果找到了子字符串,indexOf 方法会返回子字符串在原字符串中首次出现的位置的索引值(一个非负整数),索引值从0开始计数,表示子字符串的第一个字符在原字符串中的位置。
基本语法:
str.indexOf(searchValue, fromIndex)
1)str
: 要搜索的字符串。
2)searchValue
: 要搜索的子字符串。
3)fromIndex
: 可选参数,指定开始搜索的位置,默认为 0。
eg:
1.基本使用:
let str = "Hello, world!";
let index = str.indexOf("world");
console.log(index);
// 输出:7
2.使用第二个参数指定搜索起始位置:
let index = str.indexOf("l", 3);
console.log(index);
// 输出:8
// 0 1 2 3 4 5 6 7 8 9 10 11 12
// H e l l o , w o r l d !
1)从索引 3
开始,字符串是 lo, world!
。查找字符 "l"
的第一次出现。
2)在 lo, world!
中,字符 "l"
在索引 5
处出现(l
是 lo
的一部分)。但因为查找是从原始字符串的索引 3
开始,所以原始字符串中的索引应该是 3 + 5 = 8
。
3)因此,str.indexOf("l", 3)
返回的是 8
,表示字符 "l"
从索引 3
开始的第一次出现位置在原始字符串中的索引是 8
。
3.搜索不存在的子字符串:
let index = str.indexOf("test");
console.log(index);
// 输出:-1
indexOf
方法在处理字符串时非常有用,尤其是在需要确定某个特定字符或子字符串是否存在于字符串中,以及它们的位置时。不过,从 ECMAScript 6 开始,JavaScript 引入了 includes
方法,它提供了一种更直观的方式来检查字符串中是否包含某
个子字符串,而不需要处理 indexOf
返回的索引值。
eg:
let str = "Hello, world!";
let contains = str.includes("world");
console.log(contains);
// 输出:true
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论