[英]LocalStorage - Remove item by value and not key?
好的,所以我在LocalStorage中存儲了這樣的JSON:
[{"pseudo":"Lucia","id":2},{"pseudo":"Romain","id":1}]
我搜索了如何刪除一項,但只找到了這一點:
storage.removeItem(keyName);
但是,如果我錯了,請糾正我,如果我這樣做,如果我執行storage.removeItem(pseudo);它將刪除keyName為“ pseudo”的所有值。
如何僅從json中刪除{"pseudo":"Romain","id":1}
並保留{"pseudo":"Lucia","id":2}
?
謝謝。
LocalStorage帶有長度,因此您可以知道要存儲多少個值,還可以使用方法鍵來找到索引中的鍵。
function removeLocalStorageValues(target) {
let i = localStorage.length;
while (i-- > 0) {
let key = localStorage.key(i);
if (localStorage.getItem(key) === target) {
localStorage.removeItem(key);
}
}
}
localstorage僅支持字符串值,因此您需要解析數據。
var storedNames = JSON.parse(localStorage.getItem("keyName"));
// here you need to make a loop to find the index of item to delete
var indexToRemove = 1;
//remove item selected, second parameter is the number of items to delete
storedNames.slice(indexToRemove, 1);
// Put the object into storage
localStorage.setItem('keyName', JSON.stringify(storedNames));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.