Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have some values that are dynamically stored at localStorage with incremented values like this: localStorage["Value0"], localStorage["Value1"],....

When I try to access them like this:

JavaScript:

localStorage["Counter"]=0;
var i = localStorage["Counter"]; 
var d =localStorage["Value"+i];
i = i + 1; // i becomes "01"
var f = localStorage["Value"+i];

The i's value is "01" not 1 ... Is there a way to increment the i's value correctly?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
235 views
Welcome To Ask or Share your Answers For Others

1 Answer

LocalStorage can only store string values. You can use parseInt which converts a string into an integer:

var new_value =  parseInt(localStorage.getItem('num')) + 1

You can also use libraries like store.js to do things automatically for you. All you have to do is to include the library:

<script src="store.js"></script>

Set a new storage:

var numbers = new Store("numbers")

Put things into it:

numbers.set('num', 2)

Get the value and do anything you want with it:

numbers.get('num') + 1 //output: 3

And you can also go crazy and use some arrays:

numbers.set('nums', [1,2,3])

And change things inside it:

numbers.get('nums')[0] + 3 //output: 4

No type conversion needed. You can also store objects, booleans and other stuff. Just don't forget to save things back in the storage since it doesn't automatically do it.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...