а там по условию задачи аргументы - это объекты
if(deepEqual(a[keysA[i]], b[keysB[i]]))
а разве писать let a, b, c не считается дурным тоном?
type UltimatePick<T, Keys> = T extends object ?
Keys extends keyof T ?
((keys: Keys) => T) extends ((keys: infer InferedKeys) => infer InferedT) ?
{ [Key in keyof InferedT & InferedKeys]: InferedT[Key] } :
never :
never :
never;
Хочу впечатлить девчонку своим знанием тайпскрипта ;)
наоборот, индексы же могут быть только уникальными.
Тебя ничего в этом типе не смущает?