2017-05-13 2 views
0

Ich habe verschiedene local zB:Löschen Localstorage

__user_information_1494653090436 
__user_information_1494652962487 
__user_information_1494653208375 

wo

1494653090436, 1494652962487 und 1494653208375

unterschiedliche Zeitstempel sind.

Ich denke nur, wie Sie alle LocalStorage mit Ausnahme der neuesten Zeitstempel löschen. Irgendeine Hilfe.

+1

jedes Mal von erstellen. die vorherige löschen – JYoThI

+0

Haben Sie darüber nachgedacht, alle vorherigen Werte zu löschen, bevor Sie einen neuen Zeitstempel hinzufügen? – jswaldon

Antwort

1

Ihr erster Schritt sein muss alle diese Schlüssel von der localStorage bekommen . Dies kann mit Object.keys

var allKeys = Object.keys(localStorage); 

Dann nur Sie herausfinden, durchgeführt werden, welche die neueste ist, und entfernen Sie den Rest

var sorted = allKeys 
    // Use regex to find your keys of interest 
    .map(key => key.match(/__user_information_([0-9]+)/)) 
    // Filter out those that don't match 
    .filter(match => !!match) 
    // Sort by timestamp 
    .sort((a, b) => { 
    var a_ = parseInt(a[1]), b_ = parseInt(b[1]); 
    return a_ > b_ ? 1 
     : b_ > a_ ? -1 
     : 0; 
    }); 

// Remove all but last 
for(var i = 0; i < sorted.length - 1; i++) { 
    localStorage.removeItem(sorted[i][0]); 
} 
0

Probieren Sie diese Methode

if(new Date().getTime() > parseFloat(window.opt2)) 
    window.localStorage.removeItem('homeCookie') 
0

Neueste Zeitstempel ist entfernen die higherstamp.simply den höheren Wert

var local ={ //for example localstorage like this 
 
date1:1494653090436, 
 
date2:1494652962487, 
 
date3:1494653208375, 
 
} 
 
var a =Object.values(local); 
 
console.log(a.slice(0,a.indexOf(Math.max(...a)))) 
 
var removedkey = Object.keys(local)[a.indexOf(Math.max(...a))]//removed key 
 
console.log(removedkey) 
 
//window.localStorage.removeItem(removedkey)

+0

Also, ich brauche eine Schleife über localStorage, um die Schlüssel zu lesen und dann den Zeitstempel zu extrahieren. Richtig? –

+0

ja..korrekt .. @ PriyaSingh – prasanth

+0

hm, danke aber wieder das Problem ist, ich werde alle Schlüssel haben, wenn ich sage (var Schlüssel in localStorage) { console.log (Schlüssel) }, jetzt, wie ich bekommen kann die einzigen spezifischen Schlüssel, bei denen die Schlüssel dynamisch sind. –