MST

星途 面试题库

面试题:TypeScript数组类型常用操作及类型推断

请用TypeScript实现一个函数,接收一个数字数组,返回该数组中所有大于10的数字组成的新数组,并解释函数中涉及的数组类型操作和类型推断过程。
13.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function filterNumbersGreaterThanTen(numbers: number[]): number[] {
    return numbers.filter((num) => num > 10);
}

数组类型操作

在函数定义中,numbers: number[] 明确指定了函数参数 numbers 是一个 number 类型的数组。这是TypeScript中对数组类型的声明方式,确保传入的参数是数字数组。

return numbers.filter((num) => num > 10); 这里使用了数组的 filter 方法。filter 方法会创建一个新数组,其包含通过所提供函数实现的测试的所有元素。在这个例子中,测试函数 (num) => num > 10 检查每个数字是否大于10,符合条件的数字就会被放入新数组。

类型推断过程

TypeScript能够根据代码上下文进行类型推断。对于 filterNumbersGreaterThanTen 函数的返回值,由于 filter 方法返回的数组元素类型与原数组元素类型一致(在这个例子中,原数组是 number 类型,所以新数组也是 number 类型),TypeScript 可以推断出返回值类型为 number[]。所以即使不明确写出返回值类型 : number[],TypeScript 也能正确理解函数的返回类型,但显式声明返回类型可以提高代码的可读性和可维护性。