indexOf() 是 JavaScript 中用于查找字符串或数组中指定元素位置的方法。
它返回第一次出现的指定值的索引,如果没有找到则返回 -1。可以用来查找字符串中的子字符串或数组中的元素。
对于字符串:
string.indexOf(searchValue, fromIndex)
- searchValue:要搜索的子字符串。
- fromIndex (可选):开始搜索的位置(默认从头开始,即索引为 0)。
对于数组:
array.indexOf(searchElement, fromIndex)
- searchElement:要查找的数组元素。
- fromIndex (可选):从哪个索引开始查找。
注:indexOf()
在数组中查找时使用的是严格相等(===
)的比较规则,字符串 '2'
与是数字 2
型不同(字符串与数字),因此比较时不相等。
示例:
let text = “Hello, world!”;
let position = text.indexOf(“world”);
console.log(position); // 输出: 7
let fruits = [“apple”, “banana”, “cherry”];
let index = fruits.indexOf(“banana”);
console.log(index); // 输出: 1
let notFound = text.indexOf(“planet”);
console.log(notFound); // 输出: -1
//严格相等
let arr = [‘2’, ‘3’];
let index = arr.indexOf(2);
console.log(index); // 输出: -1
let num = 2;let arr = [‘2’, ‘3’];
let index = arr.indexOf(num.toString());
console.log(index); // 输出: 0