如何使用 JavaScript 递归循环一个数组并返回项目个数?
我们必须编写一个函数,比如 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP