📜  JavaScript String indexOf() 方法(1)

📅  最后修改于: 2023-12-03 14:42:27.139000             🧑  作者: Mango

JavaScript String indexOf() 方法

在 JavaScript 中,indexOf() 是一个字符串方法,用于返回某个指定字符串在另一字符串中首次出现的位置,如果找不到该字符串,则返回 -1。它是不区分大小写的。

语法
string.indexOf(searchvalue, start)
  • searchvalue:要搜索的字符串值;
  • start:指定从哪个索引位置开始搜索。默认为 0。
返回值

如果指定字符串在调用该方法的字符串中找到,则返回首次出现的位置索引;否则返回-1。

示例
const str = "Hello world";
const position = str.indexOf("o");

console.log(position); // 输出 4

在上面的示例中,位置变量将包含字符“o”的索引位置。由于该方法返回首次发现的位置,因此不会返回字符“o”的第二次出现的位置。

使用 indexOf() 来检测子字符串

由于 indexOf() 方法返回指定字符串的位置,因此您可以利用这个方法来检测字符串中是否包含某个子字符串,如下面的例子所示:

const str = "Hello world";
const search = "world";

if (str.indexOf(search) !== -1) {
  console.log(`'${search}' was found in '${str}'`);
}

在上面的示例中,如果字符串中存在“world”,则会输出 'world' was found in 'Hello world'

使用 indexOf() 来检测数组中的元素

indexOf() 方法也可用于确定数组中是否包含特定元素:

const arr = [2, 4, 6, 8];
const num = 6;

if (arr.indexOf(num) !== -1) {
  console.log(`${num} was found in the array`);
}

在上面的代码中,如果数组中包含数字 6,则输出 6 was found in the array

使用 indexOf() 和 lastIndexOf() 来查找所有匹配项

要查找所有匹配项,可以使用 indexOf()lastIndexOf() 方法的组合。lastIndexOf() 方法返回指定字符串的最后一个出现的位置。下面是一个示例:

const str = "The quick brown fox jumps over the lazy dog";
const search = "o";
let index = str.indexOf(search);

while (index !== -1) {
  console.log(`'${search}' found at index ${index}`);
  index = str.indexOf(search, index + 1);
}

在上面的代码中,我们使用 while 循环来查找所有的 'o',直到找不到为止。