How can I get a list of the items stored in html 5 local storage from javascript?

JavascriptHtml

Javascript Problem Overview


How can I get a list of the items stored in html 5 local storage from javascript?

Javascript Solutions


Solution 1 - Javascript

From HTML5 reference:

> Like other JavaScript objects, you > can treat the localStorage object as > an associative array. Instead of using > the getItem() and setItem() methods, > you can simply use square brackets.

localStorage.setItem('test', 'testing 1');
localStorage.setItem('test2', 'testing 2');
localStorage.setItem('test3', 'testing 3');

for(var i in localStorage)
{
    console.log(localStorage[i]);
}

//test for firefox 3.6 see if it works
//with this way of iterating it
for(var i=0, len=localStorage.length; i<len; i++) {
    var key = localStorage.key(i);
    var value = localStorage[key];
    console.log(key + " => " + value);
}

This will output:

testing 3
testing 2
testing 1

test3 => testing 3
test2 => testing 2
test => testing 1

Here is the JSFiddle Demo

Solution 2 - Javascript

localStorage is reference to object window.Storage, so u can use it as each other object:

Get array of items

Object.keys(localStorage)

Get length

Object.keys(localStorage).length

Iterate with jquery

$.each(localStorage, function(key, value){
   .....
})

Solution 3 - Javascript

you can use Object.assign():

var data = Object.assign({}, localStorage)

Solution 4 - Javascript

Since localStorage is key-value with strings, just serialize it with JSON, and deserialize it when you want to retrieve it.

 localStorage.setItem("bar", JSON.stringify([1,2,3]));
 var foo = localStorage.getItem("bar");
 JSON.parse(foo);
 // returns [1,2,3]

Solution 5 - Javascript

What about:

Object.keys(localStorage).map(k => localStorage.getItem(k))

Solution 6 - Javascript

You can use the localStorage as a plain object but it's not reccomended.

Here is a safer solution:

for (let i = 0; i < localStorage.length; i++) {
    const key = localStorage.key(i);
    const value = localStorage.getItem(key);
    console.log({key, value})
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKyleView Question on Stackoverflow
Solution 1 - JavascriptKJYe.NameView Answer on Stackoverflow
Solution 2 - JavascriptRichard HuttaView Answer on Stackoverflow
Solution 3 - JavascriptYukuléléView Answer on Stackoverflow
Solution 4 - JavascriptMike LewisView Answer on Stackoverflow
Solution 5 - JavascriptPavel DurovView Answer on Stackoverflow
Solution 6 - JavascriptLucas DView Answer on Stackoverflow