将变量传递给foreach函数 [英] pass a variable to foreach function

查看:65
本文介绍了将变量传递给foreach函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将 antwoord 传递给

opleidingArray.forEach(haalScoresOp,antwoord);

opleidingArray.forEach(haalScoresOp, antwoord);

所以我可以在

HaalScoresOp

HaalScoresOp

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

function. I cannot get this to work. I also tried binding but this does not function.

我得到antwoord并没有定义为错误.

I am getting antwoord is not defined as an error.

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);
}

推荐答案

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

The way you're referencing antwoord inside haalScoresOp is invalid/nonsense/not good. You're referencing it as if it was a variable in scope… well, it's not. The function should accept it as parameter just like its other parameters:

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

然后您可以将其传递给呼叫方:

Then you can pass it in on the caller's side:

opleidingArray.forEach(function (item, index) {
    haalScoresOp(antwoord, item, index)
});

或:

opleidingArray.forEach(haalScoresOp.bind(null, antwoord));

这篇关于将变量传递给foreach函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆