嗨,我想将antwoord传递给



所以我可以在



功能。我无法使它正常工作。我也尝试了绑定(bind),但这不起作用。

我得到antwoord没有定义为错误。

var antwoordenPerVraag = [2,1,3];

console.log(VragenEnScores.vragen[0].opleidingen[0]);


antwoordenPerVraag.forEach(berekenEindresultaten);

function berekenEindresultaten(item, index) {
  var opleidingArray = VragenEnScores.vragen[index].opleidingen;

  var antwoord = "bla";

  opleidingArray.forEach(haalScoresOp, antwoord);
  // score nog doorgeven aan haalscores op = het item
}

function haalScoresOp(item, index) {
  console.log("haal score op voor");
  console.log(item.naam);
  console.log(item.scores);

  console.log("haal antwoord op");
  console.log(antwoord);
}

最佳答案

您在antwoord中引用haalScoresOp的方式无效/废话/不好。您在引用它时就好像它是作用域中的变量一样……嗯,不是。该函数应像其他参数一样接受它作为参数:

function haalScoresOp(antwoord, item, index) {
  ..
  console.log(antwoord);
}

然后,您可以将其传递给 call 方:
opleidingArray.forEach(function (item, index) {
    haalScoresOp(antwoord, item, index)
});

要么:
opleidingArray.forEach(haalScoresOp.bind(null, antwoord));

09-11 17:45