javascript - 在 localStorage 中使用 .removeItem

标签 javascript jquery local-storage

使用 jQuery 和 localStorage,我想跟踪玩家赢得游戏的次数。每次提交表格时,获胜计数或失败计数都会增加一,具体取决于获胜者。计数器工作正常,但由于某种原因,清除计数的功能不起作用。我一直在使用 removeItem() 和其他变量使用相同的函数,并且运行良好。

var nicwincount;
var niclosscount;


$('#dostuff').click(function(e) {

        e.preventDefault();
         if (playerName === 'nic' && tempresult === win) {
            nicwincount = JSON.parse(localStorage.getItem (nicwincount));
            nicwincount += 1;
            localStorage.setItem(nicwincount, JSON.stringify(nicwincount));
            console.log(localStorage.getItem(nicwincount));
            console.log(nicwincount);
            }
          else if (playerName === 'nic' && tempresult === loss) {
            losscount = JSON.parse(localStorage.getItem(niclosscount));
            losscount += 1;
            localStorage.setItem (niclosscount, losscount);
            console.log(localStorage.getItem(niclosscount));
            }
}

我尝试过使用 .setItem () 将计数设置为 0。我也尝试过使用 .removeItem。无法让他们中的任何一个为我工作,也不明白为什么。

$('#clear').click(function(e){
        e.preventDefault();
     localStorage.setItem('nicwincount', 0);
            localStorage.setItem('niclosscount', 0);

    }

谢谢!

更新:

此代码使用 localStorage 工作

var nicScoreList = JSON.parse(localStorage.getItem('nicscorelist') || '[]');
    var niccount = 0;
    var nicTotalScore = nicScoreList.reduce(function(total, score) {
        if (score === " " || total === " ") {
            niccount++;
        }
        return +total + +score; 
    });

我从 localStorage 获取的项目在单独的页面上定义为:

scorelist = JSON.parse(localStorage.getItem(playerName + 'scorelist') || '[]');
        scorelist.push(" ");
        localStorage.setItem(playerName + 'scorelist', JSON.stringify(scorelist));
        $('div.scorecolumn', column).html("Score: <br>" + scorelist.join('<br>'));

我知道我似乎跳过了一堆代码,所以如果这没有意义,请告诉我。

此代码有效,但原始示例仍然不适用于 nicwincount 和 niclosscount

最佳答案

您正在使用变量来存储项目并使用字符串来清除它们。

此处为裸字(即变量):

localStorage.setItem(nicwincount, JSON.stringify(nicwincount));

这里是字符串:

localStorage.setItem('nicwincount', 0);

关于javascript - 在 localStorage 中使用 .removeItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526293/

相关文章:

javascript - 添加另一个网站作为 serverMiddleware 的 Nuxt 模块

jquery - 使用jquery返回体内iframe的值

javascript - Chrome 无法进行 jquery 表单验证

javascript - 更改页面加载时的 HTML 按钮值

html - HTML LocalStorage 中的数据在其他窗口/选项卡中可用所需的时间

javascript - 如何在 jquery 中使用 localStorage?

javascript - 无法正确测试 javascript 正则表达式

javascript - 如何使用对象作为 Highcharts 的系列

javascript - Vue.js 2 - 渲染子行

javascript - 本地存储不存储 URL