js数组indexOf方法

在JavaScript中,我们经常会使用数组来存储一系列的数据。为了方便操作数组中的元素,JavaScript提供了许多数组方法。其中之一就是indexOf()方法,这个方法用于查找数组中某个元素第一次出现的索引位置。
语法
indexOf()方法的语法如下:
array.indexOf(searchElement[, fromIndex])
searchElement:要查找的元素。fromIndex:开始查找的索引位置(可选)。如果省略,则从头开始查找。
返回值
indexOf()方法返回查找到的元素在数组中的索引位置。如果数组中不包含要查找的元素,返回-1。
示例
让我们看一个简单的示例:
const fruits = ['apple', 'banana', 'orange', 'mango'];
console.log(fruits.indexOf('banana')); // 1
console.log(fruits.indexOf('cherry')); // -1
在这个示例中,我们定义了一个包含水果名称的数组fruits。然后通过indexOf()方法查找banana和cherry在数组中的索引位置。banana的索引位置是1,cherry不存在于数组中,返回-1。
大小写敏感
需要注意的是,indexOf()方法是大小写敏感的。也就是说,大小写不同的字符被视为不同的元素。例如:
const colors = ['Red', 'Green', 'Blue'];
console.log(colors.indexOf('red')); // -1
console.log(colors.indexOf('Blue')); // 2
在上面的代码中,colors数组中包含Red和Blue两个元素。但是indexOf()方法区分大小写,因此查找red时返回-1,查找Blue时返回2。
指定搜索起始位置
另外,通过fromIndex参数,我们可以指定从哪个索引位置开始搜索。例如:
const numbers = [1, 2, 3, 4, 1, 2, 3, 4];
console.log(numbers.indexOf(2)); // 1
console.log(numbers.indexOf(2, 2)); // 5
在这个示例中,numbers数组中包含了一系列数字。第一个indexOf(2)返回1,因为第一个2的索引位置是1。而第二个indexOf(2, 2)从索引位置2开始搜索,返回5,因为第二个2的索引位置是5。
数组中的NaN
indexOf()方法也能够正确处理数组中的NaN值。例如:
const arr = [1, 2, NaN, 4];
console.log(arr.indexOf(NaN)); // 2
在这个示例中,数组arr包含了一个NaN值,我们可以通过indexOf()方法找到它的索引位置,即2。
总结
indexOf()方法是JavaScript中用来查找数组元素索引位置的常用方法。在实际开发中,可以结合其他数组方法和逻辑操作,实现更加复杂的操作。
极客笔记