Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาบัตรคู่ที่มีค่าสูงสุดในโป๊กเกอร์ - JavaScript

จาก 5 ใบพัก ห้าคู่ที่มีค่าสูงสุด (ตามลำดับ 2<3<...

ตัวอย่าง

// Input: ['A', 'Q', '3', 'A', 'Q']
// คู่: A และ Q → A สูงกว่า → 'A'

ตัวอย่างโค้ด

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;

  // เรียงตาม legend (ค่าสูงสุดอยู่หน้า)
  pairs.sort((a, b) => legend.indexOf(b) - legend.indexOf(a));
  return pairs[0];
};

console.log(greatestPair(arr));

การทำงาน

  • legend กำหนดลำดับค่าของบัตร
  • lastIndexOf ตรวจสอบว่ามีซ้ำหรือไม่
  • เก็บค่าที่ซ้ำทั้งหมด แล้วเรียงหาค่าสูงสุด

ผลลัพธ์

A