/    Sign up×
Community /Pin to ProfileBookmark

Display localstorage outpu in reverse order

I’m stored in localStorage as Input below and i want to display in reverse order as output below
**Input Data**
test_11 => Lorem ipsum_21
test_12 => Lorem ipsum_22
test_16 => Lorem ipsum_2563
test_14 => Lorem ipsum_24

**My output to display as below**
test_14 => Lorem ipsum_24
test_16 => Lorem ipsum_2563
test_12 => Lorem ipsum_22
test_11 => Lorem ipsum_21

**below is my code**

[code]<!DOCTYPE html>
<html>
<body>

<h1>The set the local Storage</h1>
<button onclick=”createItem()”>Set session storage item</button>
<h2>Get the value</h2>
<p>Click the button to get the item value:</p>
<button onclick=”readValue()”>Get the item value</button>
<br/>
<textarea rows=”10″ cols=”60″ id=’reports’>
</textarea>

<script>
function createItem() {
localStorage.setItem(“test_11”, “Lorem ipsum_21”);
localStorage.setItem(“test_12”, “Lorem ipsum_22”);
localStorage.setItem(“test_16”, “Lorem ipsum_253”);
localStorage.setItem(“test_14”, “Lorem ipsum_24”);
}

function readValue() {
var ele = document.getElementById(“reports”);

for (var x = 0; x < localStorage.length; x++) {
var key = localStorage.key(x);
var value = localStorage.getItem(key);

ele.innerHTML += (key + ” => ” + value) + “n”;
}
}
</script>

</body>
</html>
[/code]

Edited by site staff: Inserted code tags.

to post a comment
JavaScript

13 Comments(s)

Copy linkTweet thisAlerts:
@SempervivumJul 10.2019 — Try to change the loop to this:

`for (var x = localStorage.length - 1; x &gt;= 0; x--) {`

And use code tags when posting code, it will increase readability a lot:

https://www.bbcode.org/examples/?id=15
Copy linkTweet thisAlerts:
@daveyerwinJul 10.2019 — when I ran your code in firefox

i got this result ...

test_12 => Lorem ipsum_22

test_11 => Lorem ipsum_21

test_16 => Lorem ipsum_253

test_14 => Lorem ipsum_24

when I ran it in chrome ...

test_12 => Lorem ipsum_22

test_16 => Lorem ipsum_253

test_11 => Lorem ipsum_21

test_14 => Lorem ipsum_24

You cannot depend on the order

of localStorage keys

read this StackOverflow article ...

https://stackoverflow.com/questions/8340845/html5-localstorage-key-order

This is a little complicated but

it preserves the order

and displays in reverse order ...

``<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;
&lt;h1&gt;The set the local Storage&lt;/h1&gt;
&lt;button onclick="createItem()"&gt;Set session storage item&lt;/button&gt;
&lt;h2&gt;Get the value&lt;/h2&gt;
&lt;p&gt;Click the button to get the item value:&lt;/p&gt;
&lt;button onclick="readValue()"&gt;Get the item value&lt;/button&gt;
&lt;br/&gt;
&lt;textarea rows="10" cols="60" id='reports'&gt;
&lt;/textarea&gt;
&lt;script&gt;
/******this is for testing****/
localStorage.clear();
/***remove this to persist data***/
var myStorage={
Items : [],
setItem : function(key,value){
var obj = {}; obj [key] = value;
this.Items.push(obj);
localStorage.setItem('myStorage',JSON.stringify(this))
}
}
function createItem() {
myStorage.setItem("test_11", "Lorem ipsum_21");
myStorage.setItem("test_12", "Lorem ipsum_22");
myStorage.setItem("test_16", "Lorem ipsum_24");
myStorage.setItem("test_14", "Lorem ipsum_253");
}
function readValue() {
var ele = document.getElementById("reports");
var stored = JSON.parse(localStorage.getItem('myStorage'),true).Items;
for (var i = stored.length; i ; i--) {
var obj = stored[i-1];
var key = Object.keys(obj)[0];
var value = (obj)[key];
ele.innerHTML += (key + " =&gt; " + value) + "n";
}
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;<i>
</i>
``
Copy linkTweet thisAlerts:
@Deepu15authorJul 11.2019 — @DaveyErwin#1606147 Thank you and Appreciate your help
Copy linkTweet thisAlerts:
@Deepu15authorJul 17.2019 — @Deepu15#1606190

Hi

Thank you and Appreciate your help

i have an issues with your code in IE browser ,i'm not able to see the localstorage values in IE browser

but this code is working fine in Google Chrome and Mozilla Firefox browser and i can see the localstorage values

Could you Please help.[upl-image-preview url=https://www.webdeveloper.com/assets/files/2019-07-17/1563370821-540659-localstorage.png]
Copy linkTweet thisAlerts:
@daveyerwinJul 17.2019 — ie and the edge will not access local storage

from the local file system

it most be hosted on a server to work

chrome and firefox will work on the local file system
Copy linkTweet thisAlerts:
@SempervivumJul 17.2019 — According to caniuse.com local storage is supported by IE11 and Edge:

https://caniuse.com/#search=localstorage
Copy linkTweet thisAlerts:
@daveyerwinJul 17.2019 — @DaveyErwin#1606397

here is work around

https://stackoverflow.com/questions/3392032/localstorage-object-is-undefined-in-ie
Copy linkTweet thisAlerts:
@Deepu15authorJul 17.2019 — @DaveyErwin#1606397

No. The whole point of local storage is that it is local.

but with my code i can run and see the local storage values in IE ,but only issues is in my code it retrieve all the localStorage values , i want to retrieve only starts with "test_****"

-HTMLFORM BEGIN

<!DOCTYPE html>

<html>

<body>

<h1>The set the local Storage</h1>

<button onclick="createItem()">Set session storage item</button>

<h2>Get the value</h2>

<p>Click the button to get the item value:</p>

<button onclick="readValue()">Get the item value</button>

<br/>

<div id='reports'>

</div>

<script>

function createItem() {

localStorage.setItem("test_111", "Lorem ipsum_21");

localStorage.setItem("test_111", "Lorem ipsum_21");

localStorage.setItem("test_121", "Lorem ipsum_22");

localStorage.setItem("test_161", "Lorem ipsum_253");

localStorage.setItem("test_141", "Lorem ipsum_24");

localStorage.setItem("test_11", "Display values-21");

localStorage.setItem("test_12", "Display values-22");


localStorage.setItem("test_16", "Display values-24");

localStorage.setItem("test_14", "Display values-253");

localStorage.setItem("test_15", "Display values-2423");

localStorage.setItem("test_21", "Display values-21");

localStorage.setItem("test_25", "Display values-25");

localStorage.setItem("test_01", "Display values-01");

localStorage.setItem("test_051", "Display values-051");

localStorage.setItem("test_31", "Display values-31");

}

function readValue() {

var ele = document.getElementById("reports");

for (var x = localStorage.length - 1; x >= 0; x--) {

var key = localStorage.key(x);

var value = localStorage.getItem(key);


ele.innerHTML += '<p><a href="javascript:editParameters(' '+key+'');">'+key+'-'+value+ '</a></p>';

}

}

</script>

</body>

</html>

-HTMLFORM END

Could you Please let me know any idea i want to retrieve only starts with "test_****"

var ele = document.getElementById("reports"); <br/><br/>
for (var x = localStorage.length - 1; x &gt;= 0; x--) {<br/>
var key = localStorage.key(x);<br/>
var value = localStorage.getItem(key);

ele.innerHTML += '&lt;p&gt;&lt;a href="javascript:editParameters(' '+key+'');"&gt;'+key+'-'+value+ '&lt;/a&gt;&lt;/p&gt;';<br/>
}



[upl-image-preview url=https://www.webdeveloper.com/assets/files/2019-07-17/1563373160-570484-localstorage-ie.png]
Copy linkTweet thisAlerts:
@daveyerwinJul 17.2019 — @Sempervivum#1606398

from the web site you posted under

known issues

IE10 in Windows 8 has an issue where localStorage can fail with the error message "SCRIPT5: Access is denied" if "integrity" settings are not set correctly.
Copy linkTweet thisAlerts:
@daveyerwinJul 17.2019 — ``<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;
&lt;h1&gt;The set the local Storage&lt;/h1&gt;
&lt;button onclick="createItem()"&gt;Set session storage item&lt;/button&gt;
&lt;h2&gt;Get the value&lt;/h2&gt;
&lt;p&gt;Click the button to get the item value:&lt;/p&gt;
&lt;button onclick="readValue()"&gt;Get the item value&lt;/button&gt;
&lt;br/&gt;
&lt;textarea rows="10" cols="60" id='reports'&gt;
&lt;/textarea&gt;
&lt;script&gt;
/******this is for testing****/
localStorage.clear();
/***remove this to persist data***/
var myStorage={
Items : [],
setItem : function(key,value){
var obj = {}; obj [key] = value;
this.Items.push(obj);
localStorage.setItem('myStorage',JSON.stringify(this))
}
}
function createItem() {
myStorage.setItem("test_11", "Lorem ipsum_21");
myStorage.setItem("jest_12", "Lorem ipsum_22");
myStorage.setItem("rest_16", "Lorem ipsum_24");
myStorage.setItem("best_14", "Lorem ipsum_253");
}
function readValue() {
var ele = document.getElementById("reports");
var stored = JSON.parse(localStorage.getItem('myStorage'),true).Items;
for (var i = stored.length; i ; i--) {
var obj = stored[i-1];
var key = Object.keys(obj)[0];
var value = (obj)[key];
if (key.split('_')[0] === 'test')
ele.innerHTML += (key + " =&gt; " + value) + "n";
}
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;<i>
</i>
``
Copy linkTweet thisAlerts:
@daveyerwinJul 17.2019 — https://stackoverflow.com/questions/32253411/microsoft-edge-local-session-storage-are-not-working-in-a-new-tabwin#1606404
Copy linkTweet thisAlerts:
@Deepu15authorJul 18.2019 — @DaveyErwin#1606406

Thank you for providing information
Copy linkTweet thisAlerts:
@daveyerwinJul 18.2019 — ``<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;link rel="stylesheet" href="pagination.css" type="text/css" /&gt;
&lt;body&gt;
&lt;h4&gt;The set the local Storage&lt;/h4&gt;
&lt;button onclick="createItem()"&gt;Set local storage items&lt;/button&gt;
&lt;button onclick="myStorage.clearMyStorage()"&gt; Clear myStorage &lt;/button&gt;
&lt;button onclick="listItems()"&gt; list all Items &lt;/button&gt;
&lt;button onclick="listItems(0,3)"&gt; list first three Items &lt;/button&gt;
&lt;button onclick="listItems(3,3)"&gt; list Items four five and six&lt;/button&gt;
&lt;ul id=list&gt;&lt;/list&gt;
&lt;script&gt;
function createItem() {
myStorage.setItem("test_11", "Display values-21");
myStorage.setItem("test_12", "Display values-22");
myStorage.setItem("test_16", "Display values-24");
myStorage.setItem("test_14", "Display values-253");
myStorage.setItem("test_15", "Display values-2423");
myStorage.setItem("test_21", "Display values-21");
myStorage.setItem("test_25", "Display values-25");
myStorage.setItem("test_01", "Display values-01");
myStorage.setItem("test_051","Display values-051");
myStorage.setItem("test_31", "Display values-31");
}
function listItems(start,end){
while (list.hasChildNodes())
list.removeChild(list.lastChild);
var i=0,item,keys=myStorage.getKeys();
if(arguments.length == 0){
while(item = myStorage.getItem(keys[i++]))
list.appendChild(document.createElement("li")).
appendChild(document.createTextNode(item));
} else {
i = start;
while(item = myStorage.getItem(keys[i++])){
if(i&gt;end+start)return
list.appendChild(document.createElement("li")).
appendChild(document.createTextNode(item));}
}
}
var myStorage = (function () {
var stored = JSON.parse(localStorage.getItem('myStorage'),true),
Items = stored ? stored:{},
current = 0;
function set(){localStorage.setItem('myStorage',JSON.stringify(Items))};
return {
setItem : function(key,value){
if(!value)return;
Items [key] = value ;
set();
},
getItem : function(key) {
return Items [key];
},
getKeys : function() {
return Object.keys(Items);
},
clearItem : function(key){
delete Items [key];
set();
},
clearMyStorage: function() {
Items = {};
set();
},
}}());
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;<i>
</i>
``
×

Success!

Help @Deepu15 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 4.18,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...