我必须通过检索特定的项目来清除会话。
除了一个购物车项目之外,还有许多会话项需要清除。
现在,我这样做是为了检索会话存储中的购物车值。
var cart = window.sessionStorage.getItem('cart');
window.sessionStorage.clear();
window.sessionStorage.setItem('cart', cart);由于它工作正常,现在我必须检索7个不同的项(我的会话中有超过40个会话项),
有什么好办法来实现同样的目标吗?
注意:我只检索像“购物车”、“用户”、“logTime”这样的项目键,但没有清除项目键。
发布于 2020-12-24 15:45:26
您可以创建要删除的键数组。
['key1', 'key2'].forEach((key) => {
window.sessionStorage.removeItem(key)
});如果您的列表太大,您可以使用所有键( const storageKeys =‘key2 1’、‘key2 2’等)和storageKeys.forEach(.)创建单独的变量。
根据最后评论编辑
const savedData = [];
['key1', 'key2'].forEach((key) => {
savedData.push([key, window.sessionStorage.getItem(key)]);
});
window.sessionStorage.clear();
savedData.forEach(([key, value]) => window.sessionStorage.setItem(key, value));发布于 2020-12-24 15:48:46
您可以创建一个函数来检索所需的会话存储项,并且只删除该特定项,而不删除整个存储:
function getStorageItem(itemKey) {
let item = window.sessionStorage.getItem(itemKey);
window.sessionStorage.removeItem(itemKey);
return item;
}
https://stackoverflow.com/questions/65440415
复制相似问题