MST

星途 面试题库

面试题:TypeScript条件类型在泛型约束中的复杂应用

假设你有一个函数 `filterArray`,它接收一个数组和一个回调函数,回调函数的返回值用于过滤数组元素。请使用TypeScript条件类型来确保回调函数的参数类型与数组元素类型一致,并且返回值是布尔类型。例如:`filterArray([1, 2, 3], (num) => num > 2)` 是合法的,而 `filterArray([1, 2, 3], (str) => str.length > 0)` 是不合法的。请实现 `filterArray` 的类型定义。
15.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function filterArray<T>(arr: T[], callback: (element: T) => boolean): T[] {
    return arr.filter(callback);
}