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

Trả lại cặp bài poker - JavaScript

Chúng tôi bắt buộc phải viết một hàm nhận vào một mảng chính xác năm phần tử đại diện cho năm thẻ của một người chơi poker được rút ngẫu nhiên.

Nếu năm thẻ chứa ít nhất một cặp, hàm của chúng ta sẽ trả về số thẻ của cặp cao nhất (nhỏ nếu chỉ tồn tại một cặp duy nhất). Nếu không, hàm của chúng ta sẽ trả về false.

Ví dụ:Nếu mảng là -

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

Khi đó, hàm của chúng ta sẽ trả về -

'A'  (as 'A' > 'Q' in card games)

Ví dụ

Sau đây là mã -

const arr = ['A', 'Q', '3', 'A', 'Q'];
const greatestPair = arr => {
   const legend = '23456789JQKA';
   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;
   };
   pairs.sort((a, b) => legend.indexOf(b) - legend.indexOf(a));
   return pairs[0];
};
console.log(greatestPair(arr));

Đầu ra

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

A