Reference · Cards, hands and piles
arrangeCardsfunction
A hand laid out another way, as a new list (the one given is left alone): "rank" sorts it low to
high, the ace high, a rank's cards in suit order; "suit" groups it by suit, spades, hearts, clubs,
diamonds, each in rank order; "face" groups it into the number cards, ace to ten, and then the face
cards, jack, queen, king, each group in rank order and a rank's cards in suit order; "dealt" keeps
the order given. The extras (jokers, rules cards, the
blank) come last, in the order dealt. Cards of the same id keep their order, so a sort is stable.
arrangeCards(["QH", "2S", "AH", "2H"], "rank"); // ["2S", "2H", "QH", "AH"]
arrangeCards(["QH", "2S", "AH", "2H", "KS"], "suit"); // ["2S", "KS", "2H", "QH", "AH"]
arrangeCards(["QH", "2S", "AH", "KS", "9D"], "face"); // ["AH", "2S", "9D", "QH", "KS"]Import it
import { arrangeCards } from "@johnmorrisdotca/toranpu/element";
Also exported from: @johnmorrisdotca/toranpu/element/define
Definition
function arrangeCards(cards: readonly string[], by: CardOrder): string[]
Parameters
| Name | Type | Description |
|---|---|---|
cards | readonly string[] | The cards in their current order. |
by | CardOrder | The card order to apply. |
Returns
string[]
A hand laid out another way, as a new list (the one given is left alone): "rank" sorts it low to high, the ace high, a rank's cards in suit order; "suit" groups it by suit, spades, hearts, clubs, diamonds, each in rank order; "face" groups it into the number cards, ace to ten, and then the face cards, jack, queen, king, each group in rank order and a rank's cards in suit order; "dealt" keeps the order given. The extras (jokers, rules cards, the blank) come last, in the order dealt. Cards of the same id keep their order, so a sort is stable. ts arrangeCards(["QH", "2S", "AH", "2H"], "rank"); // ["2S", "2H", "QH", "AH"] arrangeCards(["QH", "2S", "AH", "2H", "KS"], "suit"); // ["2S", "KS", "2H", "QH", "AH"] arrangeCards(["QH", "2S", "AH", "KS", "9D"], "face"); // ["AH", "2S", "9D", "QH", "KS"]
Examples
import { arrangeCards } from "@johnmorrisdotca/toranpu/element";
console.log(arrangeCards(["KH", "AS", "2D"], "rank"));[ '2D', 'KH', 'AS' ]What it prints (run when this page was built)