Lets say my sessionStorage
contains three objects who's keys are foo
, foobar
, and baz
. Is there a way that I can call .removeItem
or somehow delete all items in sessionStorage
who's keys match foo
? In this example I'd be left with only the item who's key is baz
.
Asked
Active
Viewed 5.6k times
20

Jesse Atkinson
- 10,586
- 13
- 42
- 45
5 Answers
40
Update September 20, 2014 As pointed out by Jordan Trudgett the reverse loop is more appropriate
You can only achieve it programmatically as sessionStorage
exposes a limited set of methods: getItem(key)
, setItem(key, value)
, removeItem(key)
, key(position)
, clear()
and length()
:
var n = sessionStorage.length;
while(n--) {
var key = sessionStorage.key(n);
if(/foo/.test(key)) {
sessionStorage.removeItem(key);
}
}
See Nicholas C. Zakas' blog entry for more details:
http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

roland
- 7,695
- 6
- 46
- 61
-
6You should iterate over the storage object in reverse order, because when you remove the item, the indexes get changed. Doing it this way may miss some items. – Elle Apr 03 '14 at 20:34
-
It should be mentioned that unlike other arrays, sessionStorage keys are indexed from 1 to sessionStorage.length. If you were to use a for loop, the indices should be correct. – KannarKK Dec 16 '15 at 11:17
-
If you have pattern in variable as a string - var patternStr = 'foo'; you can use (new RegExp(patternStr)).test(key) – Pavel Lauko Oct 25 '16 at 09:32
14
You could do something like
Object.keys(sessionStorage)
.filter(function(k) { return /foo/.test(k); })
.forEach(function(k) {
sessionStorage.removeItem(k);
});

Pointy
- 405,095
- 59
- 585
- 614
2
Since both local and sessionStorage are objects you can go through their properties like this:
for (var obj in localStorage) {
if (localStorage.hasOwnProperty(obj) && obj == "myKey") {
localStorage.removeItem(obj);
}
}
and remove the desired values by key, here it's "myKey" for example.

petko
- 153
- 2
- 14
-1
Try this:
angular.forEach(sessionStorage, function (item,key) {
sessionStorage.removeItem(key);
});
This will delete everything from sessionStorage

Shubham Takode
- 525
- 8
- 24
-
2There is no Angular tag, so your answer isn't useful in this context. – LD Robillard Dec 01 '16 at 18:36