Bubudubub Skrevet 15. november 2017 Del Skrevet 15. november 2017 (endret) Hei igjen, @benbjo Jeg har nå valgt å lagre svarene i en åpen array, og hver gang noen tar rett/feil, så pusher jeg -1 for feil og +1 for rett inn i en array. Når jeg skriver ut dette i men da får jeg dette i arrayen = [-1, 1, 1,1.. osv]. Finnes det en funksjon, hvor man kan plusse sammen alle verdier i en array? jeg har prøvd meg frem: var sumSvar = []; // array for lagrede svar function sumArray(sumSvar) { for ( var indeks = 0, sum = 0; indeks < length; sum += sumSvar[index++] ); return sum; } ---- så prøver jeg å kalle opp funskjonen senere: var visTotalSum = function(){ sumArray(); // Hva skal jeg kalle opp? hvordan? svar.innerHTML = "Du fikk " + sumSvar + " poeng på denne språktesten.<br>"; } HJELP Endret 15. november 2017 av Bubudubub Lenke til kommentar
Benbjo Skrevet 15. november 2017 Del Skrevet 15. november 2017 Du må jo sende inn sumSvar-arrayet i metodekallet sumArray. For-løkka di ser også litt rar ut. Tror i alle fall du må definere sum utenfor løkka. I returnen din er den vel undefined? 1 Lenke til kommentar
Bubudubub Skrevet 15. november 2017 Del Skrevet 15. november 2017 (endret) Du må jo sende inn sumSvar-arrayet i metodekallet sumArray. For-løkka di ser også litt rar ut. Tror i alle fall du må definere sum utenfor løkka. I returnen din er den vel undefined? ja, den va undefined. Er dette bedre? var sumSvar = []; var sum = 0; function sumArray(){ for (var i = 0, sum = 0; i < sumSvar.length; sum += sumSvar[i++]){ return sum; } } -- Kaller upp senere --> var visTotalSum = function(){ sumArray(sumSvar); svar.innerHTML = "Du fikk " + sumSvar + " poeng på denne språktesten.<br>"; } Utfallet i "svar.innerHTML" blir [1,-1,1 etter jeg har fiklet med quizzen. Altså den regner ikke sammen. :? Endret 15. november 2017 av Bubudubub Lenke til kommentar
Benbjo Skrevet 15. november 2017 Del Skrevet 15. november 2017 Ja, for det første så må du ta i mot verdien som sumArray returnerer. F.eks var sum = sumArray(sumSvar). Så er det denne verdien som må skrives ut. For-løkka er fortsatt litt rar. Siden du har return sum inni den så vil du alltid returnere 0. Gjør heller dette: Var sum=0 For(var i=0;i<sumSvar.length;i++){ sum+=sumSvar } Return sum Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå