1var hasGroupsSizeX = function (deck) {2let unique = [...new Set(deck)],3three = 0,4two = 0,5five = 0,6size = 0,7same = 0,8s = 0;910for (let i = 0; i < unique.length; i++) {11for (let y = 0; y < deck.length; y++) {12if (unique[i] === deck[y]) {13size++;14}15}16if (size < 2) return false;17if (size % 2 === 0) two++;18if (size % 3 === 0) three++;19if (size % 5 === 0) five++;20if (s === size) same++;21s = size;22size = 0;23}2425if (26Math.max(two, three, five) !== unique.length &&27same !== unique.length - 128)29return false;30return true;31};