Here T extends U
check if T includes U or not. Using this clever technique we can exclude.
type MyExclude<T, U> = T extends U ? never: T
Solution by Anonymous961 #36965
// your answers
type MyExclude<T, U> = T extends U ? never : T;
Solution by AlexBraunMagic #36916
type MyExclude<T, U> = T extends U ? never : T;
Solution by shaishab316 #36843
// 题目
type Result = MyExclude<'a' | 'b' | 'c', 'a'> // 'b' | 'c'
// 你的答案
type MyExclude<T, U> = T extends U ? never : T;
Solution by mola-fish #36831
type MyExclude<T, U> = T extends U ? never : T;
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
type cases = [
Expect<Equal<MyExclude<'a' | 'b' | 'c', 'a'>, 'b' | 'c'>>,
Expect<Equal<MyExclude<'a' | 'b' | 'c', 'a' | 'b'>, 'c'>>,
Expect<Equal<MyExclude<string | number | (() => void), Function>, string | number>>,
]
Solution by AnastasiaSv #36763
type MyExclude<T, U> = T extends U ? never : T
Solution by seungdeok #36661
// your answers
type MyExclude<T, U> = T extends U ? never : T;
Solution by vva-sync #36627
type MyExclude<T, U> = Exclude<T, U>;
type MyExclude<T, U> = T extends U ? never : T;
Solution by tjd985 #36616
// 你的答案
type MyExclude<T, U> = T extends U ? never : T
Solution by MrSissel #36582
type MyExclude<T, U> = T extends U ? never : T
Solution by ChemieAi #36551
type MyExclude<T, U> = T extends U ? never : T;
Solution by gakki-san #36477
type MyExclude<T, U> = T extends U ? never : T;
Solution by alirezaprime #36413
// your answers
type MyExclude<T, U> = T extends U ? never : T
Solution by ATravelerGo #36370
// your answers
type MyExclude<T, U> = T extends U ? never : T;
Solution by justBadProgrammer #36360
type MyExclude<T, U> = T extends U ? never : T
Solution by 1Alex4949031 #36311
type MyExclude<T, U> = T extends U ? never : T
Solution by Jace254 #36268
type MyExclude<T, U> = T extends infer K ? K extends U ? never : K : never
Solution by Maxim-Do #36226
type MyExclude<T, U> = T extends U ? never : T;
Solution by asylbekduldiev #36182
type MyExclude<T, U> = T extends U ? never : T
Solution by AleksandrShcherbackov #36143
type MyExclude<T, U> = T extends U ? never : T
Solution by KimKyuHoi #36127
type MyExclude<T, U> = T extends U ? never : T
Solution by buglavecz #36094
type MyExclude<T, U> = T extends U ? never : T;
Solution by karazyabko #36027
type MyExclude<T, U> = T extends U ? never : T;
Solution by codingaring #35935
// your answers
type MyExclude<T, U> = T extends U ? never : T
Solution by pytest5 #35924
// 你的答案
type MyExclude<T, U> = T extends U ? never : T;
Solution by reonce #35917
type MyExclude<T, U> = T extends U ? never : T;
Solution by HelloWook #35910
// 你的答案
type MyExclude<T, U> = T extends U ? never : T
Solution by naruto-823 #35789
// 你的答案
type MyExclude<T, U> = T extends U ? never : T
Solution by naruto-823 #35788
type MyExclude<T, U> = T extends U ? never : T;
Solution by Sensuele #35762
type MyExclude<T, U> = T extends U ? never : T;
Solution by thukyaw11 #35529