// TODO: Реализуйте тип FilterByProperty // Что я строчкой ниже написал не так, и как нужно было. Спасибо большое. type FilterByProperty = T extends {[K in key ]?: any} ? T : never;
type Personal = Administrator | Security | Developer | TestingEngineer;
type WithComputers = FilterByProperty; // type WithComputers = Developer | TestingEngineer так должно быть в итоге, но у меня не выходит
Дополнен 5 месяцев назад
Условия такие: Напишите тип FilterByProperty. Он принимает два дженерик-параметра: тип объектов Obj — может быть объединением разных объектов; тип ключа Key — строковый, не связанный с типом объекта. Результатом должны быть те объекты из типа Obj, которые содержат ключи из типа Key.
Дополнен 5 месяцев назад
А это подсказка к заданию Чтобы обозначить объект, содержащий все ключи типа Key, воспользуйтесь оператором in: { [K in Key]?: any }. Если тип нужно исключить из результата, воспользуйтесь never.