395 Stimmen

Wie kann man überprüfen, ob ein Speichereintrag gesetzt ist?

Wie kann ich überprüfen, ob ein Element in localStorage ? Ich verwende derzeit

if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
    // init variable/set default variable for item
    localStorage.setItem("infiniteScrollEnabled", true);
}

685voto

Christian C. Salvadó Punkte 763569

En getItem Methode in der WebStorage-Spezifikation, gibt explizit null wenn das Element nicht existiert:

... Existiert der angegebene Schlüssel nicht in der mit dem Objekt verbundenen Liste, muss diese Methode null zurückgeben. ...

Das können Sie also:

if (localStorage.getItem("infiniteScrollEnabled") === null) {
  //...
}

Siehe diese verwandte Frage:

79voto

Stephan Hoyer Punkte 4494

Sie können verwenden hasOwnProperty Methode, um dies zu überprüfen

> localStorage.setItem('foo', 123)
undefined
> localStorage.hasOwnProperty('foo')
true
> localStorage.hasOwnProperty('bar')
false

Funktioniert in den aktuellen Versionen von Chrome(Mac), Firefox(Mac) und Safari.

24voto

Vladislav Punkte 1430

Der kürzeste Weg ist die Verwendung des Standardwerts, wenn der Schlüssel nicht im Speicher ist:

var sValue = localStorage['my.token'] || ''; /* for strings */
var iValue = localStorage['my.token'] || 0; /* for integers */

8voto

Vikas Kandari Punkte 1136

Es gibt mehrere Methoden zur Überprüfung, die ich hier anfüge

Methode 1

if("infiniteScrollEnabled" in localStorage){
     console.log("Item exists in localstorage");
}else{
    console.log("Item does not exist in localstoarge";
}

Methode 2

if(localStorage.getItem("infiniteScrollEnabled") === null){
    console.log("Item does not exist in localstoarge";
}else{
   console.log("Item exists in localstorage");
}

Methode 3

if(typeof localStorage["cart"] === "undefined"){
    console.log("Item does not exist in localstoarge";
}else{
   console.log("Item exists in localstorage");
}

Methode 4

if(localStorage.hasOwnProperty("infiniteScrollEnabled")){
     console.log("Item exists in localstorage");
 }else{
    console.log("Item does not exist in localstoarge";
 }

8voto

Deepak Thomas Punkte 2855
if(!localStorage.hash) localStorage.hash = "thinkdj";

Oder

var secret =  localStorage.hash || 42;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X