2 回答
TA贡献1834条经验 获得超8个赞
不确定使用localStorage和后会做什么,sessionStorage但是这里是向加上前缀的方法key,如果前缀已经存在,请不要再做。此外,它还会删除原始密钥:
Object.keys(localStorage).forEach(function(key) {
if(/^1234::/.test(key)) return; // Don't repeat if "1234::" exists already
localStorage[`1234::${key}`] = localStorage[key];
delete localStorage[key];
});
如果前缀1234是一个变量,那么您可以像这样:
let ID_key = '1234';
Object.keys(localStorage).forEach(function(key) {
if(new RegExp(`^${ID_key}::`).test(key)) return; // Don't repeat if 1234 exists already
localStorage[`${ID_key}::${key}`] = localStorage[key];
delete localStorage[key];
});
TA贡献1893条经验 获得超10个赞
如果我已正确理解,您是否要更改会话存储中某个项目的密钥?
您可以尝试使用下面的代码。
function changeKey(oldKey, newKey) {
var item = sessionStorage.getItem(oldKey)
sessionStorage.setItem(newKey, item)
sessionStorage.removeItem(oldKey)
}
如果要附加字符串,则可以改用以下命令:
function appendToKey(oldKey) {
var item = sessionStorage.getItem(oldKey)
oldKey = '1234' + '::' + oldKey
sessionStorage.setItem(newKey, item)
sessionStorage.removeItem(oldKey)
}
添加回答
举报