JavaScript:创建一个函数defineFirstArg,它接受一个函数和一个参数;接受更多参数

时间:2019-06-12 19:19:37

标签: javascript arguments higher-order-functions

创建一个函数defineFirstArg,该函数接受一个函数和一个参数。另外,传入的函数将接受至少一个参数。 defineFirstArg将返回一个新函数,该函数以传入参数作为传入函数的第一个参数来调用传入函数。传入函数所需的其他参数将需要传递到返回的函数中。

下面是我的代码:

const defineFirstArg = (inputFunc, arg) => {

  return function (argTwo) {
    return inputFunc(arg, argTwo)
  }
}

但是它没有通过上一个测试规范:

enter image description here

我在做什么错?

1 个答案:

答案 0 :(得分:2)

第三个测试条件是参数,而不是参数,因此也许您需要尝试使用传播算子

    const defineFirstArg = (inputFunc, arg) => {

      return function (...addtionalArgs) {
        return inputFunc(arg, ...addtionalArgs)
      }
    }
  f2 = defineFirstArg(console.log,"x")
  f2("y","z",'f')
  //x y z f

传播参数并执行通过无限数量的参数传递的功能