从localstorage中删除数组项

时间:2016-08-03 15:49:48

标签: javascript local-storage

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

hide

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

3 个答案:

答案 0 :(得分:4)

不要删除密钥,只需使用新的问题数组再次设置它:

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

答案 1 :(得分:2)

请勿使用removeItem(),因为名称会从localStorage中移除整个项目。只需执行另一个setItem()来覆盖旧数据。

你也这样做:

questions = questions.splice(index, 1);

这将从数组中删除元素并返回它们。然后questions将是已删除的元素,而不是您修改过的数组。根据你的问题,你只需要修改过的数组。所以只需执行splice()没有作业

所以你的结束代码是:

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

答案 2 :(得分:0)

您只需要重用您之前拥有的 localStorage。它会自动更新之前存储的。在删除方法之后立即使用它。

localStorage.setItem('questions', JSON.stringify(questions));