0

我有一个本地存储如下

Key0 为键,其值为{"fav1,fav2,fav3,fav4,fav5"}

如果我使用 localstorage.removeitem('key0'),整个值将被完全删除

我如何使用removeitem函数专门删除 fav1 或 fav2 等,或者有什么简单的方法可以删除本地存储的特定部分

4

1 回答 1

0

没有简单的方法可以做到这一点,因为您存储在特定键下的值只是一个字符串。因此,如果您存储"fav1,fav2,fav3,fav4,fav5"在 key 下key0,那么这个值就像任何其他字符串一样(例如foobar)。如果要更改存储在 localStorage 中的字符串,您必须 1) 从 localStorage 中读取,2) 手动更改,然后 3) 将其存储回 localStorage 下的同一键。

通常这样做的方式是使用 JSON 序列化和反序列化:

key = "key0";
value = JSON.stringify(["fav1", "fav2", "fav3", "fav4", "fav5"]);
// value is now the JSON string representing the array
localStorage.setItem(key, value);

newValue = JSON.parse(localstorage.getItem(key))
// newValue is now an array with the values fav1, fav2, ... so we can manipulate it and store it back
newValue.pop();
newValue = JSON.stringify(newValue);
localStorage.setItem(key, newValue);
于 2012-09-23T11:32:19.110 回答