如何在 JavaScript 中從遞迴 indexOf 函式返回正確的值?
遞迴是一種在許多程式語言(包括 JavaScript)中存在的計算機模式或概念。它是一種用於構建一個函式的功能,該函式會重複呼叫自身,但每次都使用更小的輸入,直到程式碼的預期結果實現。
在本文中,我們將從 JavaScript 中的遞迴 **indexof()** 函式返回正確的值。讓我們深入瞭解文章以更好地理解。
從遞迴 indexof() 函式獲取準確值
**indexOf()** 方法返回字串中某個值第一次出現的索引位置。如果找不到該值,則 **indexOf()** 方法返回 -1。**indexof()** 區分大小寫。
語法
以下是 **indexof()** 的語法:
indexOf(searchElement) indexOf(searchElement, fromIndex)
讓我們看看以下示例,以更深入地瞭解如何在 JavaScript 中從遞迴 **indexof()** 返回正確的值。
示例
在以下示例中,我們正在執行指令碼以獲取遞迴 indexof() 的值。在這種情況下,我們將獲取元素“c”的索引。
<!DOCTYPE html>
<html>
<body style="background-color:#EAFAF1">
<script>
function search(array, value) {
if (array[0] === value) {
return 0;
}
if (array.length === 0) {
return -1;
}
const result = search(array.slice(1), value);
return result === -1 ? -1 : result + 1;
}
document.write("The indexof c was:" +
search(["a", "b", "c", "d"], "c"),
);
</script>
</body>
</html>
當指令碼執行時,它將生成一個輸出,其中包含在網頁上顯示的“c”的索引值。
示例
考慮以下示例,其中我們透過宣告一個數組來執行指令碼,獲取元素“Vespa”的 **indexof()**(該元素未在陣列中宣告),並返回遞迴 **indexof()** 的值。
<!DOCTYPE html>
<html>
<body style="background-color:#E8DAEF">
<p id="tutorial"></p>
<script>
function search(arr, value, i = 0) {
if (i >= arr.length) return -1;
if (arr[i] === value) return i;
return search(arr, value, i + 1);
}
let array = ["Raj", "Kamal", "Vikram", "Ravi"];
document.getElementById("tutorial").innerHTML="The indexof Vespa was: " + (search(array, "Vespa"))
</script>
</body>
</html>
執行上述指令碼後,輸出視窗將彈出,顯示“Vespa”的索引為“-1”,並在網頁上顯示。它顯示為“-1”,因為未找到“Vespa”的值的索引。
示例
執行以下指令碼,並觀察我們將如何獲取遞迴 **indexof()** 的正確值。
<!DOCTYPE html>
<html>
<body style="background-color:#CCCCFF">
<p id="tutorial"></p>
<script>
const array = ['Bheem', 'Nayak', 'Ravi','Dora']
const result = array.indexOf('Ravi');
document.getElementById("tutorial").innerHTML=("The indexof() of required value was:" + result)
</script>
</body>
</html>
當指令碼執行時,它將生成一個輸出,顯示所需值的 **indexof()** 為“2”,並在網頁上顯示。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP