我正在创建一个应用程序,记录您工作的小时数和制作量。 现在我正在这样做:
localStorage.cachedPay = madeamount.toFixed(2);
localStorage.cachedHours = houramount;
$madeamount.html(localStorage.cachedPay);
$houramount.html(localStorage.cachedHours);
所以这是有效的,但我只是保存在p标签中显示两个值,我需要能够在每次实例结束时将两个值作为列表项添加到页面底部并且将其保存到本地存储,以便它们在启动时显示。这样做的最佳方法是什么?我还希望能够将两个记录值的总金额相加并显示。
答案 0 :(得分:1)
简单,不使用数据结构:
var sumPay = 0;
var sumHours = 0;
for(var i = 0 ; i < localStorage.length; i++ ) {
var strKey = localStorage.key(i);
if(strKey.startsWith('myCachedPayPrefix_')) {
var cachedPay = localStorage.getItem(strKey);
sumPay = cachedPay;
}
if(strKey.startsWith('myCachedHoursPrefix_')) {
var cachedHours = localStorage.getItem(strKey);
sumHours += cachedHours;
}
}
更好:维护一个数组,并使用JSON.stringify
和JSON.parse
将该数组移入和移出localStorage,但随后您可以像正确的数据结构一样对其进行操作。