NEWS
.push is not a function error
-
Hi,
ich hatte mir ein Logfile-Array erstellt, welches mir Meldungen die ich als Sprachausgabe ausgebe, auch in einen Array schreibt, welches ich dann in der vis darstelle. Das lief auch eine Zeit problemlos, bis mal wieder ein update rauskam. Seitdem wirft mir mein Javascript nun einen Fehler aus, mit dem ich nichts anfangen kann. Ich würde gerne verstehen, warum das nicht funktioniert.
10:46:03.722 error javascript.0 (2304) script.js.Visualisierung.Sprachausgabe: TypeError: myjsonArray.push is not a function 10:46:03.722 error javascript.0 (2304) at Object.<anonymous> (script.js.Visualisierung.Sprachausgabe:25:17)
-
@joergh
Es soll ein Array an ein Array angehängt werden?Von welchem Typ ist der Datenpunkt "Sprachlog"?
-
@paul53
Eigentlich soll daraus ein JSON gebastelt werden, dass ich dann mit dem JSON Tabelle Widget in vis darstelle.Sprachlog ist vom Typ String.
-
@joergh sagte: Sprachlog ist vom Typ String.
Dann muss im Skript gewandelt werden.
Die JSON-Liste für Vis kann nicht der gleiche Datenpunkt sein, wie der, um den die Liste erweitert wird. -
@paul53
Danke, das funktioniert prinzipiell. Vorher hat er mir aber auch die Datenfelder irgendwie benannt...?[{"zeit":"10:44:27","text":"Tesla laden gestartet"},
-
@joergh sagte: Vorher hat er mir aber auch die Datenfelder irgendwie benannt...?
Nicht mit dem oben gezeigten Skript.
-
Ich habe das lange nicht mehr angefasst. Kann sein, dass ich da mal ein anderes Skript hatte...
Wenn ich mehrere Elemente anfügen will, muss ich dann jedesmal den "in der Liste füge als letzte ein" nehmen, oder kann ich da nicht z.b. die Zeit und den Text mit den entsprechenden Bezeichnungen einfügen?
-
@joergh sagte: Zeit und den Text mit den entsprechenden Bezeichnungen einfügen?
Das ist in der Liste jeweils ein Objekt, das man mit einer JS-Funktion erzeugen kann. Inhalt der Funktion createObj(text):
return {zeit: formatDate(new Date(), 'hh:mm:ss'), text: text};
Da die Länge der Liste nicht begrenzt ist, würde ich die neueste Meldung als erste (oben) einfügen.
-
@paul53 Super, danke! Das funktioniert prima. Wäre nie drauf gekommen, dass ich da eine JS Funktion zum erstellen eines Objektes nutzen muss...
Die Listenlänge begrenze ich noch, das kriege ich hin...:-)