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);
}

1voto

webmaster Punkte 1774

Sie sollten prüfen, ob die Typ des Eintrags im localStorage

if(localStorage.token !== null) {
   // this will only work if the token is set in the localStorage
}

if(typeof localStorage.token !== 'undefined') {
  // do something with token
}

if(typeof localStorage.token === 'undefined') {
  // token doesn't exist in the localStorage, maybe set it?
}

1voto

heyyy Punkte 21

Wie @Christian C. Salvadó bereits erwähnt hat, können Sie Folgendes tun if (xxx === null){}

aber null ist auch ein falscher Wert, etwa so:

if (null){
console.log ("hello");
}

die nicht "Hallo" druckt.

1voto

Mac Punkte 1157

Ich bin spät dran, aber die Überprüfung von localStorage auf das Vorhandensein von Schlüsseln (oder das Vorhandensein von Schlüsselwerten) lässt sich leicht mit localDataStorage , ein praktisches Dienstprogramm, das ich erstellt habe.

Nach der Instanziierung des Wrappers mit etwas wie

myLDS = localDataStorage( 'segmentedStorageHere' );

können Sie Tasten einstellen

myLDS.set( 'infiniteScrollEnabled', true );

auf unkomplizierte Art und Weise. Beachten Sie, dass dieses Beispiel tatsächlich eine boolean Wert in den Speicher, wo er mit

let scrollingState = myLDS.get( 'infiniteScrollEnabled' );

y scrollingState enthält den zurückgegebenen booleschen Wert. Der Wrapper behält den Überblick über den nativen JavaScript-Datentyp für Sie, nahtlos (Array, Boolean, Date, Number, Object, etc.) Kein JSON-Stringifying/Parsing mehr in Ihrem Code.

Wenn wir nun wissen müssen, ob ein Schlüssel im Speicher vorhanden ist, können wir ihn wie folgt überprüfen

if( myLDS.haskey( 'infiniteScrollEnabled' ) ) {
    console.log( "It's been set!" ); 
} else {
    console.log( "The key is not set." ); 
}

Sie können auch prüfen, ob ein bestimmter Wert vorhanden ist. Zum Beispiel

myLDS.set( 'myNumber', 1234.5678 );
console.log( myLDS.hasval( 1234.5678 ) );    --> true

1voto

Rahul Vanave Punkte 11

Ich habe in meinem Projekt verwendet und funktioniert perfekt für mich

var returnObjName= JSON.parse(localStorage.getItem('ObjName'));
if(returnObjName && Object.keys(returnObjName).length > 0){
   //Exist data in local storage
}else{
  //Non Exist data block
}

0voto

zloctb Punkte 9390
localStorage['root2']=null;

localStorage.getItem("root2") === null //false

Vielleicht ist es besser, einen Scan des Plans zu machen?

localStorage['root1']=187;
187
'root1' in localStorage
true

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