从JavaScript的本地存储中的具有多个值的键中删除单个值。
$("ul").on("click", "li", function() {
$(this).remove();
localStorage.removeItem();
});
let itemsArray = localStorage.getItem('items')
? JSON.parse(localStorage.getItem('items'))
: [];
localStorage.setItem('items', JSON.stringify(itemsArray));
const data = JSON.parse(localStorage.getItem('items'));
答案 0 :(得分:0)
本地存储存储字符串。您的代码使用JSON存储数组(作为字符串),这是一种常见且适当的方法。要从阵列中仅删除一项,请执行以下操作:
通常,我在到达页面时执行步骤1和2,并保留结果。因此,我将对已有的结果执行步骤3,然后将其放回存储中。您正在使用itemsArray
做类似的事情,所以类似:
$("ul").on("click", "li", function() {
itemsArray = itemsArray.filter(entry => {
return /*...code to determine whether to keep `entry`, should
return true if `entry` isn't for this `li`, false if `entry`
IS for this `li` */;
});
$(this).remove();
localStorage.setItem("items", JSON.stringify(itemsArray));
});