gpt4 book ai didi

javascript - localStorage.removeItem() 不从对象中删除键/值

转载 作者:行者123 更新时间:2023-12-01 00:24:09 26 4
gpt4 key购买 nike

努力解决这个问题......

我正在尝试从我的 localStorage 对象中删除键/值对。但是,没有任何内容被删除。 (我也没有任何错误)。

我知道我可以通过键名删除有问题的键/值。这是该对象的示例:

   bookMarksArray:    [
{
"name": "reena",
"url": "brian"
},
{
"name": "joe",
"url": "ault"
}
]

这是我的代码...我正在使用事件目标来获取键名称并将其与对象索引相匹配。

然后将该对象索引的键传递给 localStorage.removeItem()...我做错了什么?

  list.addEventListener('click', event => {
if (event.target.classList.contains('js-delete-url')) {

const editName = event.target.parentElement.name.value;
const objIndex = bookMarksArray.findIndex(obj => obj.name === editName);

localStorage.removeItem(bookMarksArray[objIndex].name);
console.log('delete', bookMarksArray[objIndex].name);
}
});

控制台打印此内容:

app.js:55 delete reena

谢谢!

最佳答案

LocalStoage 以字符串格式保存值,因此每次都必须对 JSON 对象进行字符串化才能将其保存在 localStorage 中,我们可以解决这个问题,请找到下面的代码片段,在这种情况下很有用,

var updateStorage = function(filterName) {
var bookMarksArray= [{"name": "reena", "url": "brian"}, {"name": "joe", "url": "ault"}]
localStorage.setItem('nameList', JSON.stringify(bookMarksArray));
var items = JSON.parse(localStorage.getItem('nameList'));
var updatedList = items.filter(function(a) {
return a.name !== filterName;
});
localStorage.setItem('nameList', JSON.stringify(updatedList));
console.log(localStorage.getItem('nameList'));
// result [{"name":"reena","url":"brian"}]
};
updateStorage('joe');

关于javascript - localStorage.removeItem() 不从对象中删除键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59155122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com