Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Trả về phần tử xuất hiện nhiều thứ hai trong mảng JavaScript


Chúng ta cần viết một hàm JavaScript nhận vào một mảng các giá trị. Hàm nên trả về phần tử xuất hiện nhiều thứ hai trong mảng.

Ví dụ:

Nếu mảng đầu vào là:

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

Thì đầu ra sẽ là:

const output = 2;

Ví dụ

const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5]; 
const findSecondMost = (arr = []) => { 
  const map = {}; 
  arr.forEach(el => { 
    if (map.hasOwnProperty(el)) map[el]++; 
    else map[el] = 1; 
  }); 
  const sorted = Object.keys(map).sort((a, b) => map[b] - map[a]); 
  return sorted[1]; 
}; 
console.log(findSecondMost(arr));

Kết quả

Kết quả hiển thị trong console sẽ là:

2