如何从离子 4 中的本地存储中使用特定键从数组中删除元素,angular 7

How to delete an element from an array with specific key from local Storage in ionic 4,angular 7

我想从存储在本地存储中的数组中删除一个对象。用 this.storage.remove(key);我只能删除我发现的整个 array.A 解决方案说我必须删除整个数组,然后保存没有我想要的元素的新数组 delete.Is 这是唯一的方法吗?或者我可以只用相同的键保存一个新数组,旧的数组会被覆盖吗?

让我们说说我在 localstorage 中的内容。

数组的键:"My-Key"

数组项:“[{"title":"item1","content":"content 11"}, {"title":"item2","content":"content 2"}]"

要删除的项目:{"title":"item2","content":"content 2"}

这将解决您的问题:

function removeItem(item_title) {
localStorage.setItem(
    "My-Key",
    JSON.stringify(
        JSON.parse(localStorage.getItem("My-key")).filter(item => {
            return item.title !== item_title;
        })
    )
);
}

removeItem("item2");

此外,由于您正在使用 localStorage,我想向您推荐这个小型 JS 库,它将使您更容易使用 localStorage 以及 sessionStorage 以及其他一些东西: https://github.com/tranclix/XJS

通过使用XJS,上面的代码将是这样的:

function removeItem(item_title) {
x.jls(
    "My-Key",
    x.jlg("My-key").filter(item => {
        return item.title !== item_title;
    })
);
}

removeItem("item2");