Przejdź do treści
webtype.org#235 pick-by-type · par 3

Nr 235 · 18 sierpnia 2026 · Średnia

WybierzPoTypie

Zaimplementuj `PickByType<T, U>`, aby zachował tylko właściwości, których typ wartości jest przypisywalny do `U`. Odrzucone klucze muszą zniknąć całkowicie, a nie zostać jako `never`.

01

Zagadka

Par 3

Zagadka

pick-by-type.ts
interface Mixed {
  id: number
  name: string
  active: boolean
  score: number
}
Podejście 1 z 3Jeszcze nie sprawdzone

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

Testy

4
  • PickByType<Mixed, number>
    { id: number; score: number }
  • PickByType<Mixed, string>
    { name: string }
  • PickByType<Mixed, symbol>
    {}
  • PickByType<{ a: string }, string>
    { a: string }

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ć.

Archiwum
02

Rozwiązanie z komentarzem

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