Computer >> Máy Tính >  >> Lập trình >> Javascript

Xây dựng bản đồ tần suất của tất cả các phần tử trong JavaScript mảng

Chúng ta sẽ được cung cấp một mảng số / chuỗi có chứa một số mục nhập trùng lặp, tất cả những gì chúng ta phải làm là trả về tần suất của mỗi phần tử trong mảng.

Trả về một đối tượng với một phần tử là khóa và giá trị của nó dưới dạng tần số sẽ là cách hoàn hảo cho tình huống này.

Chúng tôi sẽ lặp lại mảng bằng vòng lặp forEach () và tiếp tục tăng số lượng phần tử trong đối tượng nếu nó đã tồn tại nếu không, chúng tôi sẽ tạo một thuộc tính mới cho phần tử đó trong đối tượng.

Và cuối cùng, chúng tôi sẽ trả về đối tượng.

Mã đầy đủ cho vấn đề này sẽ là -

const arr = [2,5,7,8,5,3,5,7,8,5,3,4,2,4,2,1,6,8,6];
const getFrequency = (array) => {
   const map = {};
   array.forEach(item => {
      if(map[item]){
         map[item]++;
      }else{
         map[item] = 1;
      }
   });
   return map;
};
console.log(getFrequency(arr));

Đầu ra trong bảng điều khiển sẽ là -

{ '1': 1, '2': 3, '3': 2, '4': 2, '5': 4, '6': 2, '7': 2, '8': 3 }