如何在JavaScript中通过递归的indexOf()函数返回正确值

如何在JavaScript中通过递归的indexOf()函数返回正确值

许多编程语言中都有递归这个概念或思想,其中包括JavaScript。这是一种特性,用于构建一个函数,该函数不断调用自身,但每次输入较小,直到代码的预期结果实现为止。

在本文中,我们将介绍如何在JavaScript中通过递归的indexOf()函数返回正确值。让我们深入了解。

通过递归indexOf()函数获取准确值

indexOf()方法返回字符串中第一个元素的位置。如果找不到该值,indexOf()方法返回-1。 indexOf() 是区分大小写的。

语法

以下是indexOf()的语法 –

indexOf(searchElement)
indexOf(searchElement, fromIndex)

让我们通过以下示例来更好地理解如何从递归的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”的输出,显示在网页上。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程