如何从离子 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");
我想从存储在本地存储中的数组中删除一个对象。用 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");