この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - TypeScript タイプパズル
41. implement FindIndex<T, E>

type FindIndex<T extends any[], E> = {
  [K in keyof T]: T[K] extends E ? K : never
}[number];

配列Tをジェネリック型で受け取り、keyof Tで配列のインデックスを列挙した型を作成します。 配列Tの各インデックスについて、型条件を使用して、T[K]が型Eと一致するかどうかをチェックします。 一致する場合、そのインデックスをキーとしてマップのKプロパティに割り当て、一致しない場合はneverを割り当てます。 最後に、数字型をキーとしたマップにアクセスし、一致するキーの最初のインデックスを返します。この方法により、配列の先頭から順番に見つかった最初の一致するインデックスが返されます。