📜  JavaScript 数组方法 indexOf() - Javascript (1)

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

JavaScript 数组方法 indexOf()

介绍

在 JavaScript 中,数组是一种存储多个值的数据结构。indexOf() 是数组对象的一个内置方法,用于查找指定元素在数组中的第一个匹配项的索引。

语法:

array.indexOf(element, startFrom)
  • array:要搜索的数组。
  • element:要查找的元素。
  • startFrom(可选):开始搜索的索引位置,默认为 0。

indexOf() 返回一个整数,表示指定元素在数组中的索引位置(从 0 开始),如果找不到元素则返回 -1。

该方法使用严格相等(===)比较元素的值与类型。如果要搜索的元素是一个对象,那么只有当在数组中找到与对象严格相等的引用时,该元素才会被认为是匹配的。

示例

下面是一些使用 indexOf() 方法的示例:

const fruits = ['apple', 'banana', 'orange', 'apple'];

console.log(fruits.indexOf('apple'));  // 输出: 0
console.log(fruits.indexOf('orange')); // 输出: 2
console.log(fruits.indexOf('grape'));  // 输出: -1

const numbers = [1, 2, 3, 2, 1, 4, 5];

console.log(numbers.indexOf(2));   // 输出: 1
console.log(numbers.indexOf(10));  // 输出: -1

const person = { name: 'John', age: 28 };
const people = [
  { name: 'Mike', age: 25 },
  person,
  { name: 'Jane', age: 30 }
];

console.log(people.indexOf(person));                  // 输出: 1
console.log(people.indexOf({ name: 'John', age: 28 })); // 输出: -1

上述示例中,indexOf() 方法被用于数组 fruitsnumbers,以及一个包含对象的数组 people

fruits 数组中,'apple' 的第一个匹配项位于索引 0'orange' 位于索引 2。由于 'grape' 不在数组中,所以返回 -1

numbers 数组中,第一个匹配到的 2 的索引为 1,而 10 不在数组中,返回 -1

people 数组中的第一个对象是 { name: 'Mike', age: 25 },第二个元素是指向 person 对象的引用,而第三个元素是 { name: 'Jane', age: 30 }。因此,使用 indexOf() 方法查找 person 对象时,返回的索引是 1,而查找一个与之内容相同的新对象时,返回的是 -1

注意事项
  • 对于字符串、数字和布尔值等基本数据类型,可以直接使用 indexOf() 方法进行查找。
  • 对于复杂数据类型如对象或数组,只有在数组中找到与进行比较的对象严格相等的引用时,才会返回匹配的索引。
  • 如果要判断一个元素是否存在于数组中,也可以使用 Array.includes() 方法来代替 indexOf()

以上就是关于 JavaScript 数组方法 indexOf() 的介绍。这个方法在处理数组时非常有用,可以方便地查找元素在数组中的位置。