JS数组中的indexOf方法

JS数组的indexOf方法是用来查找数组中指定元素的索引位置的。它接收一个参数作为要查找的元素,并返回第一个匹配的元素的索引值,如果没有找到则返回-1。

语法:

arr.indexOf(searchElement[, fromIndex])

参数说明:

1. searchElement:要查找的元素。

2. fromIndex(可选):从数组中的哪个索引位置开始查找,默认值为0。如果fromIndex为负数,则表示从数组末尾开始逆向查找。

返回值:

如果找到指定元素,则返回该元素的索引位置;如果找不到指定元素,则返回-1。

注意事项:

1. indexOf方法使用的是严格相等比较(===),因此比较时不会进行隐式类型转换。

2. 如果要查找的元素在数组中重复出现,只返回第一个匹配元素的索引。

3. 如果查找的元素是NaN(JavaScript中的特殊值表示“不是数值”),indexOf方法会返回-1,因为NaN与任何值都不相等,包括它自身。

示例1:查找数组中的元素

```javascript

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

console.log(arr.indexOf(3)); // 输出:2

console.log(arr.indexOf(6)); // 输出:-1

```

示例2:指定搜索起始位置

```javascript

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

console.log(arr.indexOf(2, 1)); // 输出:1

console.log(arr.indexOf(2, 2)); // 输出:-1

```

示例3:使用fromIndex为负数实现从末尾逆向查找

```javascript

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

console.log(arr.indexOf(3, -2)); // 输出:-1

console.log(arr.indexOf(3, -3)); // 输出:2

```

以上是indexOf方法的基本使用示例。下面我们来看一些更实际的应用案例。

案例1:判断某个元素是否在数组中

```javascript

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

const number = 3;

if (arr.indexOf(number) !== -1) {

console.log(`数组中包含${number}`);

} else {

console.log(`数组中不包含${number}`);

}

```

案例2:删除数组中的指定元素

```javascript

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

const number = 3;

const index = arr.indexOf(number);

if (index !== -1) {

arr.splice(index, 1);

}

console.log(arr); // 输出:[1, 2, 4, 5]

```

案例3:找出数组中的重复元素

```javascript

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

const duplicates = [];

arr.forEach((element, index) => {

if (arr.indexOf(element, index + 1) !== -1 && duplicates.indexOf(element) === -1) {

duplicates.push(element);

}

});

console.log(duplicates); // 输出:[3, 4]

```

通过以上案例可以看出,indexOf方法在实际开发中应用广泛。它可以用来确定数组是否包含某个元素,删除数组中的指定元素,以及查找数组中的重复元素等。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(70) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部