I have some values that are dynamically stored at localStorage with incremented values like this: localStorage[\"Value0\"], localStorage[\"Value1\"],....
When I try
To fix the problem of getting 01
, simply convert the variable to a number:
var i = +localStorage.getItem('Counter'); // or +localStorage.Counter;
If you want an incremental key name, the following code can also be used (provided that you don't delete keys in between):
var keyname = 'Value' + localStorage.length;
localstorage.setItem(keyname, value);
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.