Viết hàm searchRecursively() nhận mảng và từ khóa tìm kiếm, trả về số lần xuất hiện của từ khóa trong mảng lồng nhau.
Ví dụ mảng:
const names = ["rakesh", ["kalicharan", "krishna", "rakesh", "james", ["michael", "nathan", "rakesh", "george"]]];searchRecursively(names, 'rakesh') trả về 3 vì xuất hiện 3 lần.
Ví dụ
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"));Kết quả
Đầu ra trong console sẽ là:
3