12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- export type LotteryCard = {
-
- ID: number,
-
- WinningNumbers: number[],
-
- PlayedNumbers: number[],
-
- NumberOfWins: number
- };
- export function ParseLotteryCards(cardStrings: string[]): LotteryCard[] {
- const cards: LotteryCard[] = [];
- for (const card of cardStrings) {
-
- const [frontSide, backSide] = card.split('|');
-
- const frontSideNumbers = frontSide.split(/\D/).filter((n) => n != '').map((n) => Number(n));
-
- const playedNumbers = backSide.split(/\D/).filter((n) => n != '').map((n) => Number(n));
- const parsedCard = {
-
- ID: frontSideNumbers.shift() || -1,
-
- WinningNumbers: frontSideNumbers,
-
- PlayedNumbers: playedNumbers,
-
- NumberOfWins: 0,
- };
-
- parsedCard.WinningNumbers.forEach((n) => {
- if (parsedCard.PlayedNumbers.includes(n)) { parsedCard.NumberOfWins++ }
- });
- cards.push(parsedCard);
- }
- return cards;
- }
|