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

Trả về cặp bài poker cao nhất - JavaScript

Cho mảng 5 lá bài. Nếu có ít nhất 1 cặp, trả về lá bài của cặp cao nhất (theo thứ tự: 2<3<...

Ví dụ

Mảng: ['A', 'Q', '3', 'A', 'Q']

Có cặp A và cặp Q → trả về 'A' (cao hơn).

Giải pháp

Mã triển khai:

const arr = ['A', 'Q', '3', 'A', 'Q'];

const greatestPair = arr => {
  const legend = '23456789JQKA'; // Thứ tự giá trị
  const pairs = [];
  
  for (let i = 0; i < arr.length; i++) {
    if (i !== arr.lastIndexOf(arr[i])) {
      pairs.push(arr[i]);
    }
  }
  
  if (!pairs.length) return false;
  
  // Sắp xếp theo legend giảm dần
  pairs.sort((a, b) => legend.indexOf(b) - legend.indexOf(a));
  return pairs[0];
};

console.log(greatestPair(arr));

Kết quả

Đầu ra trong console:

A