将函数转换为可变参数函数

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索如何使用 JavaScript 将一个接受数组的函数转换为可变参数函数。我们将通过创建一个闭包来实现这一点,该闭包将所有输入收集到一个接受数组的函数中。在实验结束时,你将更好地理解如何在 JavaScript 中操作函数,使其更通用并适应不同的用例。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/ToolsandEnvironmentGroup(["`Tools and Environment`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/async_prog("`Asynchronous Programming`") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("`Spread and Rest Operators`") javascript/ToolsandEnvironmentGroup -.-> javascript/debugging("`Debugging`") subgraph Lab Skills javascript/variables -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/data_types -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/arith_ops -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/comp_ops -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/async_prog -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/spread_rest -.-> lab-28214{{"`将函数转换为可变参数函数`"}} javascript/debugging -.-> lab-28214{{"`将函数转换为可变参数函数`"}} end

将函数转换为可变参数函数

要将一个接受数组的函数转换为可变参数函数,你可以按以下步骤操作:

  1. 打开终端/SSH 并输入 node 开始练习编码。

  2. 返回一个闭包,该闭包将所有输入收集到一个接受数组的函数中。

const collectInto =
  (fn) =>
  (...args) =>
    fn(args);
  1. 使用 collectInto 函数将一个函数转换为可变参数函数。
const Pall = collectInto(Promise.all.bind(Promise));
let p1 = Promise.resolve(1);
let p2 = Promise.resolve(2);
let p3 = new Promise((resolve) => setTimeout(resolve, 2000, 3));
Pall(p1, p2, p3).then(console.log); // [1, 2, 3] (大约2秒后)

这样你就可以在函数中接受任意数量的参数,并将它们收集到一个数组中以便进一步处理。

总结

恭喜你!你已经完成了“将函数转换为可变参数函数”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程