Przejdź do treści
#238 union-to-intersection · par 5

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    Nr 238 · 21 sierpnia 2026 · Bezlitosna

    UniaNaPrzecięcie

    Zaimplementuj `UnionToIntersection<U>`, aby `A | B` stało się `A & B`. Nie ma na to operatora — rozwiązanie wykorzystuje sposób, w jaki kompilator wnioskuje z parametrów funkcji.

    01

    Zagadka

    Par 5

    Zagadka

    union-to-intersection.ts
    Podejście 1 z 5Jeszcze nie sprawdzone

    Zastąp ??? — rozwiązanie sprawdzamy przypadkami poniżej. Tab wcina; naciśnij Escape, a potem Tab, by wyjść fokusem.

    Testy

    4
    • UnionToIntersection<{ a: string } | { b: number }>
      { a: string } & { b: number }
    • UnionToIntersection<string>
      string
    • UnionToIntersection<'a' | 'b'>
      never
    • UnionToIntersection<{ x: 1 }>
      { x: 1 }

    Jak oceniamy test Dokładna równość typów, nie przypisywalność — przecięcie to nie to samo co spłaszczony obiekt.

    Jak poszło innym

    Tę zagadkę rozwiązało jak dotąd mniej niż 5 osób. Rozkład pojawi się, gdy próbka będzie na tyle duża, by coś znaczyć.

    Gra na krótkim dystansie

    Najmniej znaków

    Nie ma jeszcze publicznych wyników.

    Archiwum
    02

    Rozwiązanie z komentarzem

    Ten komentarz ukaże się 24 godziny po zamknięciu zagadki.

    Wykorzystuje