Type Challenges Judge

IndexOf

提出詳細

type Check<T, U> = T extends U ? U extends T ? true : false : false type IndexOf<T extends readonly unknown[], U, K extends readonly unknown[] = []> = T extends [infer Head, ...infer Rest] ? Check<Head, U> extends true ? K["length"] : IndexOf<Rest, U, [...K, unknown]> : -1
提出日時2025-09-16 13:02:34
問題IndexOf
ユーザーbalckowl
ステータスAccepted
テストケース
import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<IndexOf<[1, 2, 3], 2>, 1>>, Expect<Equal<IndexOf<[2, 6, 3, 8, 4, 1, 7, 3, 9], 3>, 2>>, Expect<Equal<IndexOf<[0, 0, 0], 2>, -1>>, Expect<Equal<IndexOf<[string, 1, number, 'a'], number>, 2>>, Expect<Equal<IndexOf<[string, 1, number, 'a', any], any>, 4>>, ]