函数调用后向javascript函数传递参数?

函数调用后向javascript函数传递参数?,javascript,parameters,Javascript,Parameters,我在做一个函数,它返回一个线性序列的任意项。测试用例如下所示: Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again."); Test.assertEquals(getFunction([0, 3, 6, 9, 12])(10), 30, "Nope! Try again."); Test.assertEquals(getFunction([1, 4, 7, 10, 13])(20), 61, "Nope!

我在做一个函数,它返回一个线性序列的任意项。测试用例如下所示:

Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again.");
Test.assertEquals(getFunction([0, 3, 6, 9, 12])(10), 30, "Nope! Try again.");
Test.assertEquals(getFunction([1, 4, 7, 10, 13])(20), 61, "Nope! Try again.");
function getFunction(sequence) {
  var diff = sequence[1] - sequence[0];
  var init = sequence[0];
  return function(num) {
     return diff*num+init;
  }
}
我不理解函数调用。我编写了这段代码来确定线性序列的函数并计算任意项,但我不知道如何将函数项传递给计算:

function getFunction(sequence) {
  var diff = sequence[1] - sequence[0];
  var init = sequence[0];

  return diff*arguments[1]+init;
}
参数[1]不访问在参数之后传入的术语。如何访问第一个示例中的术语(5)

Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again.");

您需要从
getFunction()
返回一个函数,以便像测试所期望的那样链接函数调用

大概是这样的:

Test.assertEquals(getFunction([0, 1, 2, 3, 4])(5), 5, "Nope! Try again.");
Test.assertEquals(getFunction([0, 3, 6, 9, 12])(10), 30, "Nope! Try again.");
Test.assertEquals(getFunction([1, 4, 7, 10, 13])(20), 61, "Nope! Try again.");
function getFunction(sequence) {
  var diff = sequence[1] - sequence[0];
  var init = sequence[0];
  return function(num) {
     return diff*num+init;
  }
}

您的函数必须返回一个函数。您只需将数组传递给getFunction,没有其他参数可获取,因此参数[1]不包含任何内容。
getFunction([…])
返回一个参数为5的函数(对于第一个测试用例),您无法从
getFunction
ahhh获得参数
5
,因此如果我有一个像getSequence(stuff)(more stuff)(甚至更多stuff)这样的调用;我只需要继续嵌套返回函数的返回语句?