MST

星途 面试题库

面试题:TypeScript 泛型在函数中的应用

请编写一个TypeScript函数,使用泛型实现一个可以交换数组中两个元素位置的函数,并说明泛型在这个函数中的作用。
21.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function swap<T>(arr: T[], index1: number, index2: number): T[] {
    const temp = arr[index1];
    arr[index1] = arr[index2];
    arr[index2] = temp;
    return arr;
}

泛型在这个函数中的作用:

  • 提高代码复用性:通过使用泛型 T,这个函数可以适用于任何类型的数组,而不需要为每种类型的数组都编写一个专门的交换函数。比如既可以传入 number 类型的数组,也可以传入 string 类型的数组等。
  • 增强类型安全性:在编译阶段,TypeScript 能够根据传入的实际类型来检查函数内部的操作是否符合该类型的规则。例如,如果传入的是 number 类型数组,那么对数组元素的操作就限定在 number 类型允许的范围内,避免了在运行时出现类型不匹配的错误。