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 
Beitragsersteller
 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

Emreyy 
Beitragsersteller
 03.09.2022, 18:19
@verreisterNutzer

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.

Emreyy 
Beitragsersteller
 03.09.2022, 19:25
@verreisterNutzer

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

verreisterNutzer  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.

Emreyy 
Beitragsersteller
 04.09.2022, 12:12
@verreisterNutzer

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

verreisterNutzer  04.09.2022, 15:00
@Emreyy

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

zwei zusatzvariablen einführen

notencounter

notensumme

-----

notencounter = notencounter + 1;

notensumme = notensumme + note.value;

am ende dann:

if notencounter <> 0

notendurchschnitt = notensumme / notencounter;


Emreyy 
Beitragsersteller
 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