📜  JavaScript数组indexOf()(1)

📅  最后修改于: 2023-12-03 15:01:48.799000             🧑  作者: Mango

JavaScript数组indexOf()

概述

indexOf()是JavaScript数组中的一个方法,用于查找指定元素在数组中第一次出现时的索引。如果不存在,则返回-1。

语法
array.indexOf(searchElement[, fromIndex])
  • searchElement:要查找的元素值。
  • fromIndex(可选):开始查找的索引位置。如果省略此参数,则从数组的开头开始查找。如果该参数为负数,则表示倒数第几个元素位置。如果该参数大于或等于数组的长度,则返回-1,这意味着该数组内没有匹配的元素。
返回值

如果找到指定元素,则返回第一次出现的索引位置;否则返回-1。

示例
let arr = ["apple", "banana", "orange", "pear"];

console.log(arr.indexOf("orange")); // 输出 2
console.log(arr.indexOf("grape")); // 输出 -1
console.log(arr.indexOf("apple", 1)); // 输出 -1
console.log(arr.indexOf("banana", -1)); // 输出 -1
console.log(arr.indexOf("banana", -3)); // 输出 1
注意事项

indexOf() 方法使用严格比较,即比较元素的值和类型是否一致。因此,如果您想找到的元素需要使用非严格比较,则需要使用另外的方法进行查找。

如果您需要查找多次出现的元素,则需要使用循环或lastIndexOf()方法。

let arr = ["apple", "banana", "orange", "banana", "pear"];
let indices = [];

let idx = arr.indexOf("banana");
while (idx !== -1) {
  indices.push(idx);
  idx = arr.indexOf("banana", idx + 1);
}

console.log(indices); // 输出 [1, 3]