Implementa `MyPick<T, K>` para que conserve solo las claves nombradas en `K`. Es el `Pick` incorporado, escrito a mano — un tipo mapeado, sin condicionales.
01
Intenta el puzle tú mismo
Par 2
Puzle
rebuild-pick.ts
interface Todo {
title: string
description: string
done: boolean
}
type MyPick<T, K extendskeyof T> = ???
Intento 1 de 2Aún sin comprobar
Sustituye ??? — tu solución se comprueba con los casos de abajo. Tab indenta; pulsa Escape y luego Tab para sacar el foco.
Comprobaciones
3
MyPick<Todo, 'title'>—
→ { title: string }
MyPick<Todo, 'title' | 'done'>—
→ { title: string; done: boolean }
MyPick<Todo, never>—
→ {}
Cómo se juzga una comprobación Igualdad exacta de tipos, no asignabilidad — una intersección no es lo mismo que el objeto aplanado.
Cómo le fue a todo el mundo
Menos de 5 personas han resuelto este puzle hasta ahora. La distribución aparece cuando la muestra sea lo bastante grande como para significar algo.