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 ] ]