将变量传递给foreach函数 [英] pass a variable to foreach function
问题描述
我想将 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屋!