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 3Zagadka
pick-by-type.tsinterface 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
4PickByType<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ć.
02
Rozwiązanie z komentarzem
Ten komentarz ukaże się 24 godziny po zamknięciu zagadki.