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

Kiểm tra Full House trong Poker - JavaScript

Full House trong poker: 5 lá bài có ít nhất 3 lá cùng giá trị (3 của 1 loại + 2 của loại khác, hoặc 4/5 của 1 loại).

Viết hàm kiểm tra mảng 5 lá bài có full house không.

Giải pháp

Mã triển khai:

const arr1 = ['A', 'A', 'A', 'K', 'K']; // Full house
const arr2 = ['K', '2', 'K', 'A', 'J']; // Không

const isFullHouse = arr => {
  const counts = {};
  for (const card of arr) {
    counts[card] = (counts[card] || 0) + 1;
  }
  // Kiểm tra có giá trị nào >= 3 không
  return Object.values(counts).some(count => count >= 3);
};

console.log(isFullHouse(arr1)); // true
console.log(isFullHouse(arr2)); // false

Kết quả

Đầu ra trong console:

true
false

Giải thích: Đếm tần suất mỗi lá, nếu có tần suất ≥ 3 → full house. Code gốc dùng splice phức tạp, cách dùng object đếm đơn giản hơn.