MST

星途 面试题库

面试题:TypeScript泛型函数在数组数据结构中的应用

请编写一个TypeScript泛型函数,该函数接收一个数组和一个回调函数作为参数,回调函数对数组中的每个元素进行操作并返回新的值,最终泛型函数返回操作后的新数组。例如输入数组[1, 2, 3]和回调函数将元素翻倍,应返回[2, 4, 6]。要求明确泛型类型参数的定义及使用。
45.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function mapArray<T, U>(arr: T[], callback: (element: T) => U): U[] {
    return arr.map(callback);
}

你可以这样调用这个函数:

const originalArray = [1, 2, 3];
const newArray = mapArray(originalArray, (num) => num * 2);
console.log(newArray); 

解释:

  1. 定义了一个泛型函数 mapArray,它有两个类型参数 TUT 表示输入数组元素的类型,U 表示回调函数返回值的类型。
  2. 函数接收一个类型为 T[] 的数组 arr 和一个回调函数 callback,该回调函数接收一个类型为 T 的元素并返回类型为 U 的值。
  3. 使用数组的 map 方法,将回调函数应用到输入数组的每个元素上,并返回新的数组,新数组的类型为 U[]