测验题

高阶函数的定义是什么?

Topics
JAVASCRIPT
在GitHub上编辑

一个函数在两种情况下可以是高阶函数:一种是将一个或多个函数作为输入参数,用这些参数来操作数据;另一种是直接返回一个函数作为结果。 高阶函数是为了抽象出一些重复执行的操作。 典型的例子是 map,它以数组和函数作为参数。 map然后使用这个函数来转换数组中的每一项,返回一个带有转换后数据的新数组。 JavaScript 中的其他流行的例子是forEachfilterreduce。 一个高阶函数并不只是需要操作数组,因为从另一个函数返回一个函数有很多方案。 Function.prototype.bind是 JavaScript 中的一个例子。

Map

假设我们有一个包涵名字的数组,我们需要将每个字符串转换为大写字母。

const names = ['irish', 'daisy', 'anna'];

当务之急是这样做:

const transformNamesToUppercase = function (names) {
const results = [];
for (let i = 0; i < names.length; i++) {
results.push(names[i].toUpperCase());
}
return results;
};
transformNamesToUppercase(names); // ['IRISH', 'DAISY', 'ANNA']

使用 .map(transformerFn) 让代码更短,更多地声明代码。

const transformNamesToUppercase = function (names) {
return names.map((name) => name.toUpperCase());
};
transformNamesToUppercase(names); // ['IRISH', 'DAISY', 'ANNA']
在GitHub上编辑