#9896Medium

GetMiddleElement

Get the middle element of the array by implementing a `GetMiddleElement` method, represented by an array Master advanced TypeScript type manipulation in this medium-level challenge on TypeScriptPro.

In this medium-level challenge, you'll implement a GetMiddleElement type that extracts the middle element(s) from a tuple type, returning a single-element tuple for odd-length arrays and a two-element tuple for even-length arrays.

Challenge Instructions: GetMiddleElement

Medium

Get the middle element of the array by implementing a GetMiddleElement method, represented by an array

If the length of the array is odd, return the middle element If the length of the array is even, return the middle two elements

For example

type simple1 = GetMiddleElement<[1, 2, 3, 4, 5]>, // expected to be [3]
type simple2 = GetMiddleElement<[1, 2, 3, 4, 5, 6]> // expected to be [3, 4]

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

Loading...

Detailed Explanation

type GetMiddleElement<T extends unknown[]> =
  T extends []
    ? []
    : T extends [infer Single]
      ? [Single]
      : T extends [infer A, infer B]
        ? [A, B]
        : T extends [unknown, ...infer Middle, unknown]
          ? GetMiddleElement<Middle>
          : never;

How it works:

This challenge helps you understand recursive tuple manipulation and variadic tuple inference, and how to apply these concepts in real-world scenarios.

This challenge is originally from here.

Share this challenge

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