如何在 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”,并在网页上显示。

更新于: 2023年4月21日

296 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告