#27958Medium

CheckRepeatedTuple

Implement type `CheckRepeatedChars<T>` which will return whether type `T` contains duplicated member Master advanced TypeScript type manipulation in this medium-level challenge on TypeScriptPro.

In this medium-level challenge, you'll implement CheckRepeatedTuple<T> which checks whether a tuple type contains any duplicated members, returning true or false.

Challenge Instructions: CheckRepeatedTuple

Medium

Implement type CheckRepeatedChars<T> which will return whether type T contains duplicated member

For example:

type CheckRepeatedTuple<[1, 2, 3]>   // false
type CheckRepeatedTuple<[1, 2, 1]>   // true

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

👋 Lifetime-License is leaving on August 10, 2026

Get it now for $29

One-time payment. Lifetime access to all pro challenges.

Loading...

Detailed Explanation

type Includes<T extends unknown[], V> = T extends [infer First, ...infer Rest]
  ? Equal<First, V> extends true
    ? true
    : Includes<Rest, V>
  : false
 
type CheckRepeatedTuple<T extends unknown[]> = T extends [infer First, ...infer Rest]
  ? Includes<Rest, First> extends true
    ? true
    : CheckRepeatedTuple<Rest>
  : false

How it works:

This challenge helps you understand recursive tuple analysis with strict type equality, and how to apply these concepts in real-world scenarios.

This challenge is originally from here.

Share this challenge