在 TypeScript 中使用 Reduce 实现 Map 函数
Implement Map function using Reduce in TypeScript
我需要使用reduce
实现映射功能。
要求:
map
函数应该对 array
中的每个元素应用 fn
函数。
array
不应突变
到目前为止,这是我的代码(我正在检查数组是否为空):
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[]);
};
我需要使用reduce
实现映射功能。
要求:
map
函数应该对array
中的每个元素应用fn
函数。array
不应突变
到目前为止,这是我的代码(我正在检查数组是否为空):
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[]);
};