【js编程题利用indexOf】在JavaScript中,`indexOf()` 是一个非常常用的方法,用于查找某个元素在数组或字符串中的位置。它返回该元素第一次出现的索引,如果未找到则返回 `-1`。本文将通过一些常见的编程题目,总结如何利用 `indexOf()` 进行数据处理,并以表格形式展示答案。
一、常见使用场景
| 场景 | 描述 | 使用方法 |
| 查找元素是否存在 | 判断某个元素是否存在于数组中 | `arr.indexOf(value) !== -1` |
| 获取元素首次出现的位置 | 获取指定元素在数组中的第一个索引 | `arr.indexOf(value)` |
| 去重数组 | 利用 `indexOf()` 避免重复项 | 配合循环判断 |
| 字符串中查找子串 | 在字符串中查找某个子串的位置 | `str.indexOf(subStr)` |
二、典型编程题及解答
题目1:判断一个数组中是否包含某个元素
问题描述
给定一个数组 `arr = [1, 2, 3, 4, 5]`,判断其中是否包含数字 `3`。
代码示例
```javascript
function contains(arr, value) {
return arr.indexOf(value) !== -1;
}
console.log(contains([1, 2, 3, 4, 5], 3)); // true
```
结果
`true`
题目2:获取数组中某元素的索引
问题描述
给定一个数组 `arr = ['a', 'b', 'c', 'b']`,获取 `'b'` 的第一个索引。
代码示例
```javascript
let arr = ['a', 'b', 'c', 'b'];
let index = arr.indexOf('b');
console.log(index); // 1
```
结果
`1`
题目3:去重数组
问题描述
给定一个数组 `arr = [1, 2, 2, 3, 4, 4]`,去除其中的重复元素。
代码示例
```javascript
function unique(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === i) {
result.push(arr[i]);
}
}
return result;
}
console.log(unique([1, 2, 2, 3, 4, 4])); // [1, 2, 3, 4
```
结果
`[1, 2, 3, 4]`
题目4:字符串中查找子串
问题描述
给定字符串 `str = "hello world"`,查找 `"world"` 是否存在。
代码示例
```javascript
let str = "hello world";
let index = str.indexOf("world");
console.log(index); // 6
```
结果
`6`
三、总结
`indexOf()` 是 JavaScript 中一个简单但功能强大的方法,适用于多种数据处理场景。通过结合逻辑判断和循环结构,可以实现数组去重、元素查找、字符串匹配等操作。掌握其使用方式,有助于提升代码的简洁性和可读性。
四、对比表(常用方法)
| 方法 | 功能 | 返回值 | 是否修改原数组 |
| `indexOf()` | 查找元素或子串的位置 | 索引或 `-1` | 否 |
| `includes()` | 判断是否存在 | `true` 或 `false` | 否 |
| `findIndex()` | 找到满足条件的第一个元素索引 | 索引或 `-1` | 否 |
通过合理使用 `indexOf()`,开发者可以在实际项目中高效地处理数据查询与筛选任务。


