Javascript for-of schleife ergebnise mit einander rechnen?

2 Antworten

In dem du noch eine Variable erstellst und dort den Wert drin speicherst.

let avg = 0;
..... dein loop ..... avg+=note.value
avg = avg/noten.length

oder so ähnlich

solllte dir die richtige Richtung zeigen

Emreyy 
Fragesteller
 03.09.2022, 18:16

Ja, das mit / length hatte ich auch vor, aber es kommt immer eine note dazu, aus diesem Grund weiß ich nicht wie ich es mit der var machen soll. Also die noten in der var speichern

0
Xearox  03.09.2022, 18:18
@Emreyy

Ich weiß leider gerade nicht, was genau du meinst.

0
Emreyy 
Fragesteller
 03.09.2022, 18:19
@Xearox

Ich bekomme die Noten immer einzeln. Bei meinem console.log werden die Noten alle einzeln ausgegeben. Diese Noten muss ich iwie erster zusammen rechnen, um dann /length machen zu können.

0
Xearox  03.09.2022, 18:20
@Emreyy

hab ich doch oben geschrieben avg+=note.value

0
Emreyy 
Fragesteller
 03.09.2022, 19:25
@Xearox

Wenn ich diesen Code hinzufügen :

 let durchschnitt = e.target.parentNode.querySelectorAll(".noten");
            for(let note of durchschnitt.values()){
                if(note.value != 0){
                    console.log(note.value);
                    let avg;
                    avg += note.value;
                    console.log(avg);
 
                }  
                }

Bekomme ich bei einem console.log undefined und dahinter die Zahl, aber nicht zusammengerechnet

0
Xearox  04.09.2022, 04:29
@Emreyy

Das let Avg kommt auch außerhalb der Schleife und nicht da drin. Du willst doch, dass die variable außerhalb der Schleife noch aufrufbar ist.

0
Emreyy 
Fragesteller
 04.09.2022, 12:12
@Xearox

Ja, macht aber immer noch kein unterschied. Bekomme immer noch undefined und die Zahl dahinter

0
Xearox  04.09.2022, 14:30
@Emreyy

poste mal den gesamten code, dass ich das mal ausprobieren kann.

0
Xearox  04.09.2022, 15:00
@Emreyy

Der Ordner ist nicht freigegeben. Du musst meinen Zugriff akzeptieren oder die Zugriffrechte ändern.

0
Emreyy 
Fragesteller
 04.09.2022, 15:02
@Xearox

Super, dankeschön das Du mir hilfst

0

zwei zusatzvariablen einführen

notencounter

notensumme

-----

notencounter = notencounter + 1;

notensumme = notensumme + note.value;

am ende dann:

if notencounter <> 0

notendurchschnitt = notensumme / notencounter;

Emreyy 
Fragesteller
 03.09.2022, 19:25

Wenn ich diesen Code hinzufügen :

 let durchschnitt = e.target.parentNode.querySelectorAll(".noten");
            for(let note of durchschnitt.values()){
                if(note.value != 0){
                    console.log(note.value);
                    let avg;
                    avg += note.value;
                    console.log(avg);
 
                }  
                }

Bekomme ich bei einem console.log undefined und dahinter die Zahl, aber nicht zusammengerechnet

0