passer une variable à la fonction foreach
Salut, je veux passer antwoord
à
opleidingArray.forEach(haalScoresOp, antwoord);
Donc je peux l'utiliser dans le
HaalScoresOp
fonction. Je ne peux pas obtenir que cela fonctionne. J'ai aussi essayé de liaison, mais cela ne fonctionne pas.
Je suis antwoord n'est pas défini comme une erreur.
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);
}
- Lorsque vous appelez
opleidingArray.forEach(haalScoresOp, antwoord);
, vous êtes de passage dans laantwoord
variable comme paramètre - c'est juste unstring
, donc votre "antwoord n'est pas défini comme un message d'erreur. Essayez de supprimer leantwoord
paramètre à partir de laforEach
appel antwoord
danshaalScoresOp()
n'est pas dans le champ d'application, ses locaux àberekenEindresultaten()
- comment puis-je passer à cette étendue?
- "J'ai aussi essayé de liaison" - Qui devrait fonctionner.
var params={antwoord:"bla"};
et puis.forEach(haalScoresOp.bind(params))
, puisthis.antwoord
à l'intérieur de la fonction. - cela semble fonctionner!
Vous devez vous connecter pour publier un commentaire.
La façon dont vous faites référence à
antwoord
à l'intérieur dehaalScoresOp
est pas valide/non-sens/pas bon. Vous faites référence à lui comme si c'était une variable dans la portée... eh bien, il ne l'est pas. La fonction doit l'accepter en tant que paramètre, tout comme ses autres paramètres:Alors vous pouvez passer à l'appelant côté:
ou:
Vous pouvez changer le
haalScoresOp
fonction à une fonction anonyme à l'intérieur de laberekenEindresultaten
fonction:Cela permettrait de limiter le champ d'application de la
antwoord
variable à l'intérieur de laberekenEindresultaten
fonction