×

Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Một Mảng Trong JavaScript

Để tìm phần tử xuất hiện nhiều nhất trong một mảng trong JavaScript, bạn có thể sử dụng các phương pháp như đếm tần suất xuất hiện của các phần tử và sau đó xác định phần tử có tần suất cao nhất. Dưới đây là một cách đơn giản và hiệu quả để thực hiện điều này.

Mã Nguồn:

Phương Pháp Sử Dụng Đối Tượng Đếm Tần Suất

function findMostFrequentElement(arr) {
    let frequency = {};
    let maxCount = 0;
    let mostFrequentElement = null;

    // Đếm tần suất xuất hiện của từng phần tử
    for (let element of arr) {
        frequency[element] = (frequency[element] || 0) + 1;
        
        // Cập nhật phần tử xuất hiện nhiều nhất
        if (frequency[element] > maxCount) {
            maxCount = frequency[element];
            mostFrequentElement = element;
        }
    }

    return mostFrequentElement;
}

// Ví dụ kiểm tra
console.log(findMostFrequentElement([1, 2, 3, 3, 2, 1, 3, 4, 5])); // 3
console.log(findMostFrequentElement(['apple', 'banana', 'apple', 'orange', 'banana', 'banana'])); // 'banana'

Giải Thích:

  1. Tạo Đối Tượng Đếm Tần Suất:

    • frequency: Một đối tượng để lưu trữ số lần xuất hiện của từng phần tử trong mảng.
  2. Duyệt Mảng:

    • Đếm Tần Suất: Cập nhật số lần xuất hiện của từng phần tử trong đối tượng frequency.
    • Cập Nhật Phần Tử Xuất Hiện Nhiều Nhất: So sánh số lần xuất hiện của phần tử hiện tại với giá trị cao nhất và cập nhật nếu cần.
  3. Trả Về Phần Tử Xuất Hiện Nhiều Nhất:

    • Phần tử có số lần xuất hiện lớn nhất sẽ được lưu trong mostFrequentElement.

Tổng Quan:

  • Tìm Phần Tử Xuất Hiện Nhiều Nhất: Xác định phần tử xuất hiện nhiều nhất trong mảng.
  • Đối Tượng Đếm Tần Suất: Phương pháp hiệu quả để đếm số lần xuất hiện và tìm phần tử phổ biến nhất.
  • Ứng Dụng: Cơ bản trong phân tích dữ liệu và các bài toán xử lý mảng.

Ví Dụ Thực Tế:

console.log(findMostFrequentElement([1, 2, 3, 3, 2, 1, 3, 4, 5])); // 3
console.log(findMostFrequentElement(['apple', 'banana', 'apple', 'orange', 'banana', 'banana'])); // 'banana'

Trong ví dụ trên, số 3 là phần tử xuất hiện nhiều nhất trong mảng số, và 'banana' là phần tử xuất hiện nhiều nhất trong mảng chuỗi.

Comments