Best Poker Hand LeetCode solution in JavaScript
1var bestHand = function (ranks, suits) {2let suitsMap = {};3for (let i = 0; i < suits.length; i++) {4if (suitsMap[suits[i]]) {5suitsMap[suits[i]]++;6} else {7suitsMap[suits[i]] = 1;8}9}10if (Object.keys(suitsMap).length === 1) return "Flush";11let pair = false;12let ranksMap = {};13for (let i = 0; i < ranks.length; i++) {14if (ranksMap[ranks[i]]) {15ranksMap[ranks[i]]++;16if (ranksMap[ranks[i]] >= 3) return "Three of a Kind";17} else {18ranksMap[ranks[i]] = 1;19}20}21if (Object.keys(ranksMap).length === 5) return "High Card";22return "Pair";23};