📅  最后修改于: 2023-12-03 15:16:18.751000             🧑  作者: Mango
JavaScript 中,数组是一种基本的数据结构,它允许我们存储一组有序的元素,并能够通过索引快速访问这些元素。在使用数组时,我们经常需要查找一个元素在数组中的位置,这时就可以使用 indexOf
方法。
array.indexOf(searchElement[, fromIndex])
indexOf()
方法接受一个参数 searchElement
,它是要查找的元素,可以是任何类型的值。返回值是一个数字,表示 searchElement
在数组中第一次出现的位置,如果数组中不存在该元素,则返回 -1。
indexOf()
方法还可以接受一个可选的参数 fromIndex
,它指定了从哪个索引开始查找。如果省略 fromIndex
参数,则从数组的第一个元素开始查找。如果 fromIndex
为负数,则从数组的倒数第几个元素开始查找。
以下是 indexOf()
方法的几个使用示例:
const array1 = ['a', 'b', 'c'];
console.log(array1.indexOf('b')); // 1
console.log(array1.indexOf('d')); // -1
上面的示例说明,indexOf()
方法会返回该元素在数组中的位置索引,如果该元素不存在,则返回 -1。
const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
console.log(beasts.indexOf('bison')); // 1
console.log(beasts.indexOf('bison', 2)); // 4
console.log(beasts.indexOf('giraffe')); // -1
上面的示例说明,indexOf()
方法还可以接受第二个参数 fromIndex
,它可以指定从哪个索引开始查找。
注意,数组中的元素可以是任何类型的值,包括对象、函数等引用类型。在比较两个引用类型时,它们的指针并非总是相等的,因此在比较时需要使用 ===
进行全等比较,而不能使用 ==
或 !=
。
此外,indexOf()
方法只返回第一个匹配的索引值。如果数组中包含多个匹配项,我们可以结合 lastIndexOf()
或循环遍历来进行多个匹配项的处理。