面试题答案
一键面试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);
解释:
- 定义了一个泛型函数
mapArray
,它有两个类型参数T
和U
。T
表示输入数组元素的类型,U
表示回调函数返回值的类型。 - 函数接收一个类型为
T[]
的数组arr
和一个回调函数callback
,该回调函数接收一个类型为T
的元素并返回类型为U
的值。 - 使用数组的
map
方法,将回调函数应用到输入数组的每个元素上,并返回新的数组,新数组的类型为U[]
。