如何在JavaScript中使用indexOf方法

611 阅读3分钟

indexOf()方法用于搜索一个给定数组中某个元素的索引;它也可以用于查找一个字符串中某个字符或子串的位置。indexOf()方法如果找到元素/子串,则返回其位置;否则,返回-1。索引从0开始,所以数组的第一个元素和字符串中的第一个字总是返回0。

如何使用indexOf()方法

在本指南中,我们将学习如何使用indexOf()方法来查找数组/字符串中某个元素/子串的索引;但首先,让我们讨论一下它的语法。

array_name.indexOf(element, starting_point)
string_name.indexOf(searchvalue, starting_point)

indexOf()方法需要两个参数。

  • element/searchvalue。第一个参数是必需的。它可以是一个数组中的一个元素或一个子串,其索引是必需的。

  • starting_point:这个参数是可选的。它告诉该方法从指定的点开始搜索。默认情况下,它是0。

现在将使用indexOf()方法来查找数组中一个元素的索引,作为一个例子。

注意:我们将使用浏览器控制台来演示本篇文章中的例子。要打开浏览器的控制台。

  • 在Chrome和其他基于chromium的浏览器中使用F12键。
  • 在Mozilla使用CTRL + SHIFT + K键盘快捷键。
  • 在Safari浏览器中使用Option + ⌘ + C键盘快捷键(如果没有出现开发者菜单,则按⌘ +打开偏好,并在高级选项卡中勾选 "在菜单栏中显示开发菜单")。

例子

var animals = ['Lion', 'Monkey', 'Rhino', 'Cat'];
console.log(animals.indexOf('Rhino'));

同样地,我们也可以在一个字符串上使用这个方法。

var str = 'Welcome to Linux Hint!';
console.log(str.indexOf('to'));

它也可以用来寻找一个单一的字符。

var str = 'Welcome to Linux Hint!';
console.log(str.indexOf('c'));

indexOf()方法默认从0开始搜索;但我们也可以把起点作为参数传递。

var animals = ['Lion', 'Monkey', 'Rhino', 'Cat'];
console.log(animals.indexOf('Rhino', 3));

该方法返回了**-1**,因为如果它从3开始搜索,就找不到'Rhino'。现在,如果我们把起点改为2,那么。

var animals = ['Lion', 'Monkey', 'Rhino', 'Cat'];
console.log(animals.indexOf('Rhino', 2));

对于字符串也是如此。

var str = 'Welcome to Linux Hint!';
console.log(str.indexOf('c', 5));

var str = 'Welcome to Linux Hint!';
console.log(str.indexOf('c', 1));


index()方法从0到数组/字符串的末尾开始搜索;并返回搜索值第一次出现的索引。如果一个数组或字符串中有两个类似的项目,你想找到最后一个的索引,那么你应该使用lastIndexOf()方法

var str = 'Welcome to Linux Hint!';
console.log(str.lastIndexOf('t'));

同样,对于一个数组也是如此。

var animals = ['Lion', 'Monkey', 'Rhino', 'Cat', 'Lion'];
console.log(animals.lastIndexOf('Lion'));

indexOf()方法是区分大小写的。

总结

在编程时,在处理数组或字符串时,我们经常需要找到一个特定元素或子串的索引。在这种情况下,indexOf()方法就会派上用场。

在本指南中,我们已经学会了如何使用indexOf()方法来查找字符串/数组中某一项目的索引。此外,我们还讨论了我们可以传递给indexOf()方法的类型和参数。