Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Objekt als statische Variable oder globale Variable
#1
Hallo,
ich möchte eine funktion für einen Gleitenden Mittelvert (MovingAverage) schreiben.
Dazu muss ich vorherige Werte speichern können.
Nun hab ich, weil es in Javascript offenbar keine statischen Variablen gibt ein Array als Globale Variable namens "maValues" definiert, auf welche ich in der Funktion zugreifen möchte. Dies gibt jedoch den Fehler: " TypeError: Cannot read properties of undefined (reading 'push')"
Offenbar kennt er die Methode push nicht, weil in der Funktion das Array nicht kreiert wurde.?
Ausserhalb der funktion wurde das Array offenbar schon kreiert, aber die Funktion scheint davon nichts mitbekommen zu haben.
Ich kann das Array aber nicht in der Funktion kreieren, sonst ist es bei jedem Aufruf wieder leer.
Wie kann man so was in JS realisieren?

Code:
var width = 3;
var maValues=[];

function ma(newValue) {
    var maSum = 0;
    var maValue = 0;
    var maLength = 0;
    maValues.push(newValue);       // Add the new value
    if (maValues.length > width) {
        maValues.shift();             // Remove the first value
    }
    maLength = maValues.length;
    maSum = 0;
    for (let j = 0; j < maValues.length; j++) {
        maSum += maValues[j];
    }
    console.log("MA length=" + maLength + "; MA sum=" + maSum);
    maValue = maSum / maLength;
    return maValue;
}
Zitieren


Nachrichten in diesem Thema
Objekt als statische Variable oder globale Variable - von Delphinis - 26.05.2024, 09:47

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste