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

Đếm số lần xuất hiện của các phần tử mảng và đưa vào mảng 2D trong JavaScript


Chúng ta cần viết một hàm JavaScript nhận vào một mảng các giá trị nguyên thủy. Hàm sẽ đếm tần suất xuất hiện của từng phần tử và tạo mảng mới dựa trên kết quả đó.

Ví dụ - Nếu mảng đầu vào là:

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];

Thì đầu ra sẽ là:

const output = [ 
    [5, 3], 
    [2, 5], 
    [9, 1], 
    [4, 1] 
];

Ví dụ

Mã thực hiện như sau:

const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]; 
const frequencyArray = (arr = []) => { 
    const res = []; 
    arr.forEach(el => { 
        if (!this[el]) { 
            this[el] = [el, 0]; 
            res.push(this[el]) 
        }; 
        this[el][1] ++ 
    }, {}); 
    return res; 
}; 
console.log(frequencyArray(arr));

Kết quả

Kết quả trong console sẽ là:

[ [ 5, 3 ], [ 2, 5 ], [ 9, 1 ], [ 4, 1 ] ]