Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đệ quy duyệt mảng lồng nhau và đếm số lần xuất hiện trong JavaScript

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