2016-12-19 2 views
0

Neu in JavaScript. Ich erstelle eine Tabelle mit Punkten und speichere sie im JSON-Format im lokalen Speicher. Ich bleibe dran, um sicherzustellen, dass das, was ich im lokalen Speicher gespeichert habe, dort bleibt, nachdem ich die Seite aktualisiert habe. DieseWie kann verhindert werden, dass JSON-Objekte im lokalen Speicher bei der Aktualisierung zurückgesetzt werden?

ist, wie ich den JSON-Array zu erstellen:

var top10Scorers = { 
    "top10Scorers": [ 
     {"position": '1', "username": 'blank', 
      "pointscore": '0', "date": 'blank' 
     } 
    ] 
}; 

localStorage.setItem("top10Scorers", JSON.stringify(top10Scorers)); 

Wie kann ich das so umschreiben, dass es nicht das, was im lokalen Speicher nicht zurückgesetzt jedes Mal ist die Seite aktualisiert wird?

LÖSUNG: getestet, um zu prüfen, ob der Schlüssel vor der Initialisierung der Variablen nicht vorhanden war.

+0

Sollte es jemals erneuert werden? Wenn nicht, dann überprüfe einfach, ob Inhalt in der Variablen vorhanden ist oder nicht – Sebas

+0

Ich verstehe nicht, was du denkst, localStorage wird nicht auf Seitenaktualisierung zurückgesetzt. –

+0

löste das Problem –

Antwort

0

Versuchen Sie zuerst, den Wert von localStorage zu lesen. Nur überschreiben, wenn Sie keinen Wert haben.

+0

vielen Dank. Ich erkannte, wie man mein Problem mit dieser Antwort löst! –

3

Überprüfen Sie, ob der Wert zuerst festgelegt wurde, wenn er null ist, können Sie ihn festlegen. Wenn es nicht null ist, haben Sie es vorher festgelegt.

if(localStorage.getItem("top10Scorers") === null){ 
    // its not set, set it 
} 
+0

danke, als ich dazu kam, war meine Lösung genau die gleiche wie diese. wickelte es herum und es funktionierte wie es sollte. Frage, warum ist der Komparator "===" in dieser Situation zu "=="? –

+0

Sie verwenden '===' anstelle von '==' weil was ist, wenn Ihr top10Scorers-Wert absichtlich auf einen String '" null "-Wert gesetzt wurde? Das '==' wird Typumwandlung und übergibt die 'if' Prüfung. Das '===' stellt sicher, dass der Wert zuvor nicht gesetzt wurde. –

Verwandte Themen