好的,我在 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仅支持字符串值,因此需要解析数据。
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));
LocalStorage 附带一个 length,以便您知道存储了多少个值,以及一个方法 key,可让您在索引处查找键。
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.splice(indexToRemove, 1);
// 将对象放入存储中 localStorage.setItem('keyName', JSON.stringify(storedNames));