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

Tìm số thường xuyên nhất trong mảng và số lần nó được lặp lại trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng các ký tự và tìm số thường xuyên nhất trong mảng và số lần nó được lặp lại.

Ví dụ

Mã cho điều này sẽ là -

const arr = ['13', '4', '1', '1', '4', '2', '3', '4', '4', '1', '2', '4', '9', '3'];
const findFrequency = (arr = []) => {
   const count = {};
   const max = arr.reduce((acc, val, ind) => {
      count[val] = (count[val] || 0) + 1;
      if (!ind || count[val] > count[acc[0]]) {
         return [val];
      };
      if (val !== acc[0] && count[val] === count[acc[0]]) {
         acc.push(val);
      };
      return acc;
   }, undefined);
   return {
      max, count
   };
}
console.log(findFrequency(arr));

Đầu ra

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

{
   max: [ '4' ],
   count: { '1': 3, '2': 2, '3': 2, '4': 5, '9': 1, '13': 1 }
}