js中indexof

在JavaScript中,indexOf()是一个非常有用的方法,它用于查找一个元素在数组或字符串中首次出现的位置。如果找到该元素,则返回其索引值;如果没有找到,则返回-1。

数组中的使用

在数组中,indexOf()方法用于查找某个值第一次出现的索引。语法如下:

arr.indexOf(element, startIndex)
  • element:必需,要查找的值。

  • startIndex:可选,从该索引位置开始查找,默认为0。

示例:

var arr = ["a", "b", "c", "1", "b", "a", "d", "e", "d"];
console.log(arr.indexOf("1")); // 输出: 3
console.log(arr.indexOf("b", -5)); // 输出: 1

字符串中的使用

在字符串中,indexOf()方法用于查找某个字符或子字符串首次出现的位置。语法如下:

str.indexOf(searchValue, fromIndex)
  • searchValue:必需,要查找的字符或子字符串。

  • fromIndex:可选,从该索引位置开始查找,默认为0。

示例:

var str = "Hello, world!"console.log(str.indexOf("world")); // 输出: 7
console.log(str.indexOf("world", 8)); // 输出: 14

注意事项

  1. indexOf()方法对大小写是敏感的,因此 "Hello" 和 "hello" 是不同的字符串。

  2. 如果要查找的字符串或元素在数组或字符串中不存在,indexOf()方法会返回-1。

  3. 如果数组中包含对象或数组,必须是对象的引用,才能使用indexOf()得到正确的索引值。

示例代码

// 数组中的使用
var arr = ["a", "b", "c", "1", "b", "a", "d", "e", "d"];
console.log(arr.indexOf("1")); // 输出: 3

// 字符串中的使用
var str = "Hello, world!"console.log(str.indexOf("world")); // 输出: 7
console.log(str.indexOf("world", 8)); // 输出: 14

// 对象数组中的使用
var arr = [{name: "racyily", age: 22}, {name: "susan", age: 18}];
console.log(arr.indexOf({name: "susan", age: 18})); // 输出: 1

通过这些示例,你可以看到indexOf()方法在不同场景下的应用,无论是数组还是字符串,它都能帮助你找到某个元素首次出现的位置。

Top