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

Tìm ký tự thường xuyên thứ hai trong mảng - JavaScript

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.

Giả sử sau đây là mảng của chúng tôi -

const arr = [1, 34, 4, 3, 2, 1, 4, 6, 4, 6, 5, 3, 6, 6];

Vì vậy, ký tự thường xuyên xuất hiện là -

6

Nhưng chúng tôi muốn đầu ra là ký tự thường xuyên thứ hai, tức là

4

Hãy viết mã cho chức năng này -

Ví dụ

const arr = [1, 34, 4, 3, 2, 1, 4, 6, 4, 6, 5, 3, 6, 6];
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

Sau đây là đầu ra trong bảng điều khiển -

4