如何增加在localStorage的值(How to increment a value at lo

2019-06-26 03:17发布

我有动态存储在localStorage的像这样的递增值的一些值:localStorage的[“Value0”],localStorage的[“值1”],....

当我尝试访问它们是这样的:

JavaScript的:

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

在我的值是“01”不是1 ...有没有办法正确地递增我的价值?

Answer 1:

localStorage的只能存储字符串值。 您可以使用parseInt函数这将字符串转换成整数:

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

您还可以使用库,例如​​store.js自动为您做的事情。 所有您需要做的是包括库:

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

设置一个新的存储:

var numbers = new Store("numbers")

把东西放到它:

numbers.set('num', 2)

获得的价值,做你想做的事情什么:

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

而且你还可以去疯狂并使用一些数组:

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

并且将里面的东西:

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

没有类型转换需要。 您也可以存储对象,布尔和其他的东西。 只是不要忘记保存的东西放回储存,因为它不会自动做。



Answer 2:

要解决得到的问题01 ,只需将变量转换为数字:

var i = +localStorage.getItem('Counter'); // or +localStorage.Counter;

如果你想要一个增量键名,下面的代码,也可以使用(前提是你不删除之间的键):

var keyname = 'Value' + localStorage.length;
localstorage.setItem(keyname, value);


文章来源: How to increment a value at localStorage