Javascript 单击方法后从localStorage中删除项

Javascript 单击方法后从localStorage中删除项,javascript,Javascript,我正试图从保存在localStorage中的待办事项列表中删除项目 我在考虑做类似的事情: 让deleteTodos=()=>{localStorage.removietem(todos[“hola”]);} 在守则的这部分: list.addEventListener(“单击”,(e)=>{ if(例如target.classList.contains(“删除”)){ e、 target.parentElement.remove(); setItem(“todos”,JSON.stringi

我正试图从保存在
localStorage
中的待办事项列表中删除项目

我在考虑做类似的事情:

让deleteTodos=()=>{localStorage.removietem(todos[“hola”]);}

在守则的这部分:

list.addEventListener(“单击”,(e)=>{
if(例如target.classList.contains(“删除”)){
e、 target.parentElement.remove();
setItem(“todos”,JSON.stringify(todos));
}

});如果要在“TODO”下的localStorage中保存字符串化的TODO,则不能通过
localStorage.removeItem(TODO[“hola”])
删除单个项目

在不说明是否应以这种方式使用localStorage的情况下,要删除某个项目,您需要替换localStorage中的整个对象:

constdeleteTodo=(标签)=>{
//从仓库中取出物品
const oldTodos=JSON.parse(localStorage.getItem('todos');
//删除指定的项。(但是您需要这样做。这可能不适用于您的特定数据结构)
const newTodos=oldTodos.filter(({label:x})=>x==label);
//重新重新序列化到本地存储
setItem('todos',JSON.stringify(newTodos));
};

您尝试过什么?你犯了什么错误?什么不起作用?您是要删除单个待办事项还是要删除整个列表?我们需要更多的上下文来更好地帮助您。您为什么使用[“hola”]?。我认为您应该执行
localStorage.removietem(“todos”)
todos
是一个todo元素数组,对吗?您可以通过将项推入数组并将localstorage项设置为stringized数组来进行添加。因此,删除是相同的;从数组中删除该项并将localstorage项设置为stringified数组最佳选项是将其从
todos
数组中删除,然后更新localstorage而不是将其删除。这是否回答了您的问题?然后我必须调用
列表中的函数
daleteTodo
?????因为我不知道如何将这个函数与click事件联系起来,如果这是一个愚蠢的问题,很抱歉,但我是在3个月前开始编写代码的。