MST

星途 面试题库

面试题:TypeScript 中如何利用函数式构造实现简单类型流转

假设有一个类型 `string[]`,现在需要将其转换为 `number[]`,每个 `number` 是原 `string` 元素的长度。请使用函数式构造在 TypeScript 中实现该类型流转,并说明函数式构造相较于传统方式在类型流转上的优势。
39.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

实现代码

const stringArrayToNumberArray = (strings: string[]): number[] => {
    return strings.map(str => str.length);
};

函数式构造相较于传统方式在类型流转上的优势

  1. 简洁性:函数式构造使用像 map 这样的高阶函数,代码更加简洁直观,无需手动编写循环,减少了样板代码。例如传统方式可能需要使用 for 循环遍历数组,而函数式构造一行 map 调用即可完成同样功能。
  2. 可读性:函数式代码意图更加清晰,通过使用函数式方法(如 mapfilter 等),代码的功能一目了然。map 方法明确表示对数组每个元素执行某种操作并返回新数组,便于理解和维护。
  3. 可维护性:由于函数式代码简洁且意图清晰,在需要修改或扩展功能时,更容易定位和调整。例如如果需要修改转换逻辑,只需修改 map 回调函数内的代码,而不会影响到整个循环结构。
  4. 不变性:函数式编程强调不变性,像 map 方法返回新数组而不修改原数组,这有助于避免副作用和数据突变带来的错误,提高代码的稳定性和可预测性。