在 TypeScript 中使用 Reduce 实现 Map 函数

Implement Map function using Reduce in TypeScript

我需要使用reduce实现映射功能。

要求:

到目前为止,这是我的代码(我正在检查数组是否为空):

function map<A, B>(array: A[], fn: (a: A) => B): B[] {
  if (array.length === 0) {
    return [];
  } 

}

非常感谢任何帮助!

你可以这样做(未经测试):

const map = <A, B>(array: readonly A[], fn: (a: A) => B): B[] => {
  return array.reduce((all, item) => {
    all.push(fn(item));
    return all;
  }, [] as B[]);
};