使用 JavaScript 递归循环遍历数组并返回项目数?

javascriptweb developmentobject oriented programming更新于 2025/10/2 17:16:17

我们必须编写一个函数,例如 searchRecursively(),它接受一个数组和一个搜索查询,并返回嵌套数组中该搜索查询的计数。

例如,如果数组由 − 给出

const names = ["rakesh", ["kalicharan", "krishna", "rakesh", "james", ["michael", "nathan", "rakesh", "george"]]];

然后 −

searchRecursively(names, ‘’rakesh’);

应该返回 3,因为它在数组中总共出现了 3 次。因此,让我们为这个递归函数 − 编写代码

示例

const names = ["rakesh", ["kalicharan", "krishna", "rakesh", "james",
["michael", "nathan", "rakesh", "george"]]];
const searchRecursively = (arr, query, count = 0, len = 0) => {
   if(len < arr.length){
      if(Array.isArray(arr[len])){
         return searchRecursively(arr[len], query, count, 0);
      };
      if(arr[len] === query){
         return searchRecursively(arr, query, ++count, ++len);
      };
      return searchRecursively(arr, query, count, ++len);
   };
   return count;
};
console.log(searchRecursively(names, "rakesh"));

输出

控制台中的输出将是 −

3

相关文章


有用资源