面试题答案
一键面试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 也能正确理解函数的返回类型,但显式声明返回类型可以提高代码的可读性和可维护性。