#2852Medium

OmitByType

From ```T```, pick a set of properties whose type are not assignable to ```U```. Master advanced TypeScript type manipulation in this medium-level challenge on TypeScriptPro.

In this medium-level challenge, you'll build an OmitByType utility that filters out properties from an object type T whose values are assignable to a given type U.

Challenge Instructions: OmitByType

Medium

From T, pick a set of properties whose type are not assignable to U.

For Example

type OmitBoolean = OmitByType<{
name: string
count: number
isReadonly: boolean
isEnable: boolean
}, boolean> // { name: string; count: number }

Change the following code to make the test cases pass (no type check errors).

Loading...

Detailed Explanation

type OmitByType<T, U> = {
  [K in keyof T as T[K] extends U ? never : K]: T[K]
}

How it works:

This challenge helps you understand key remapping in mapped types and how to apply conditional filtering of object properties based on their value types in real-world scenarios.

This challenge is originally from here.

Share this challenge

Learn the Concepts

Join early, learn faster.

Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.

No spam, unsubscribe at any time. We respect your privacy.

Limited Availability

Only 27 Spots left

Early Access

Get 1 month early access

>75% Off

Pre-Launch discount