从本地存储中删除数组项

新手上路,请多包涵

我在本地存储中存储了一个数组(将其解析为 json)。我把它放回一个对象中,从中删除了一些项目,我需要用本地存储中的新值更新密钥。

 var counter = [0,1,2];
var count = counter[0];
var questions = localStorage.getItem('questions');///questions had been stored in local storage with another function
console.log(questions);
questions = $.parseJSON(questions);

if (questions != 0){
    $('.question').html(questions[count]['question']);
    var options = (questions[count]['options']);
    options.forEach(function (item) {
        $('.options').html(item);
    });
    var index = counter.indexOf(1);
    questions = questions.splice(index, 1);
    console.log(questions);
    localStorage.removeItem('questions);
    counter = counter.splice(index, 0);

现在,当我从本地存储中删除问题键时,整个问题数组都会被删除,但是,我只需要删除传递的特定问题数组。

原文由 Fadil Olamyy Wahab 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 195
1 个回答

不要删除密钥,只需使用新问题数组重新设置它即可:

 questions.splice(index, 1);
localStorage.setItem('questions', JSON.stringify(questions));

原文由 tenhsor 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题