简介
在本实验中,我们将探索 JavaScript 中的「函数元数(Function Arity)」概念。本实验的目的是创建一个高阶函数,该函数接受一个函数和一个数字 n
作为参数,并返回一个新函数,该新函数最多只接受 n
个参数,忽略任何额外的参数。这将帮助我们理解如何在 JavaScript 中限制传递给函数的参数数量。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将探索 JavaScript 中的「函数元数(Function Arity)」概念。本实验的目的是创建一个高阶函数,该函数接受一个函数和一个数字 n
作为参数,并返回一个新函数,该新函数最多只接受 n
个参数,忽略任何额外的参数。这将帮助我们理解如何在 JavaScript 中限制传递给函数的参数数量。
要创建一个接受特定数量参数并忽略任何额外参数的函数,请按以下步骤操作:
打开终端/SSH 并输入 node
以开始练习编码。
使用以下代码创建你的函数:
const ary =
(fn, n) =>
(...args) =>
fn(...args.slice(0, n));
使用两个参数调用你刚刚创建的函数 ary
:你想要限制参数数量的函数 (fn
) 和你想要将其限制到的参数数量 (n
)。
现在你可以使用这个新函数来限制你想要的任何函数的参数数量。要做到这一点,使用展开运算符 (...
) 和你想要限制的参数来调用你的新函数。
以下是如何使用你的新函数的示例:
const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]
在这个示例中,firstTwoMax
是一个新函数,它将 Math.max
函数限制为只接受前两个参数。map
方法用于将新函数应用于外部数组中的每个数组,返回每个内部数组前两个元素中的最大值。
恭喜你!你已经完成了函数元数实验。你可以在 LabEx 中练习更多实验来提升你的技能。