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

Tìm phần tử thường xuyên thứ hai trong JavaScript mảng

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một chuỗi và trả về ký tự từ chuỗi xuất hiện nhiều thứ hai trong số lần.

Ví dụ

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

const arr = [5, 2, 6, 7, 54, 3, 2, 2, 5, 6, 7, 5, 3, 5, 3, 4];
const secondMostFrequent = arr => {
   const map = arr.reduce((acc, val) => {
      if(acc.has(val)){
         acc.set(val, acc.get(val) + 1);
      }else{
         acc.set(val, 1);
      };
      return acc;
   }, new Map);
   const frequencyArray = Array.from(map);
   return frequencyArray.sort((a, b) => {
      return b[1] - a[1];
   })[1][0];
};
console.log(secondMostFrequent(arr));

Đầu ra

Đầu ra trong bảng điều khiển -

2