【js編程題利用indexOf】在JavaScript中,`indexOf()` 是一個(gè)非常常用的字符串和數(shù)組方法,用于查找某個(gè)元素或字符在數(shù)組或字符串中的位置。它返回的是首次出現(xiàn)的索引值,如果未找到則返回 -1。掌握 `indexOf()` 的使用,對(duì)于解決一些常見(jiàn)的編程題非常重要。
以下是一些典型的JS編程題,涉及 `indexOf()` 的使用,并附上總結(jié)與表格形式的答案。
一、常見(jiàn)編程題及解析
1. 判斷字符串中是否包含某個(gè)子串
題目描述:判斷字符串 `"hello world"` 中是否包含 `"world"`。
解法:
```javascript
let str = "hello world";
if (str.indexOf("world") !== -1) {
console.log("包含");
} else {
console.log("不包含");
}
```
結(jié)果:包含
2. 查找字符第一次出現(xiàn)的位置
題目描述:找出字符串 `"apple banana cherry"` 中第一個(gè) `'a'` 的位置。
解法:
```javascript
let str = "apple banana cherry";
let index = str.indexOf('a');
console.log(index); // 輸出 0
```
結(jié)果:0
3. 在數(shù)組中查找元素
題目描述:在數(shù)組 `[1, 2, 3, 4, 5]` 中查找元素 `3` 的位置。
解法:
```javascript
let arr = [1, 2, 3, 4, 5];
let index = arr.indexOf(3);
console.log(index); // 輸出 2
```
結(jié)果:2
4. 檢查重復(fù)元素
題目描述:判斷數(shù)組 `[1, 2, 3, 2]` 中是否有重復(fù)元素。
解法:
```javascript
function hasDuplicate(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== i) {
return true;
}
}
return false;
}
console.log(hasDuplicate([1, 2, 3, 2])); // 輸出 true
```
結(jié)果:true
5. 替換第一個(gè)匹配項(xiàng)
題目描述:將字符串 `"apple apple apple"` 中的第一個(gè) `"apple"` 替換為 `"orange"`。
解法:
```javascript
let str = "apple apple apple";
let index = str.indexOf("apple");
let newStr = str.slice(0, index) + "orange" + str.slice(index + 5);
console.log(newStr); // 輸出 "orange apple apple"
```
結(jié)果:orange apple apple
二、總結(jié)與表格
題目類(lèi)型 | 使用方法 | 示例代碼 | 返回值/結(jié)果 |
判斷子串是否存在 | `indexOf()` | `str.indexOf("world") !== -1` | 包含 / 不包含 |
查找字符位置 | `indexOf()` | `str.indexOf('a')` | 0 |
數(shù)組查找元素 | `indexOf()` | `arr.indexOf(3)` | 2 |
判斷重復(fù)元素 | `indexOf()` | `arr.indexOf(arr[i]) !== i` | true / false |
替換第一個(gè)匹配項(xiàng) | `indexOf()` + `slice()` | `str.slice(0, index) + "orange"` | "orange apple apple" |
三、注意事項(xiàng)
- `indexOf()` 對(duì)大小寫(xiě)敏感。
- 如果要忽略大小寫(xiě),可以先將字符串轉(zhuǎn)換為統(tǒng)一格式(如小寫(xiě))再進(jìn)行查找。
- 若需查找最后一個(gè)匹配項(xiàng),建議使用 `lastIndexOf()`。
通過(guò)合理使用 `indexOf()`,我們可以高效地處理字符串和數(shù)組中的查找問(wèn)題,是日常開(kāi)發(fā)中非常實(shí)用的一個(gè)方法。