Javascript 如何删除存储在本地存储中的特定项目?
存储在本地存储器中的值Javascript 如何删除存储在本地存储中的特定项目?,javascript,local-storage,Javascript,Local Storage,存储在本地存储器中的值 {"10":true,"11":true,"16":false} 我想删除存储在本地存储器中的特定数据,例如10 var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {}; $.each(checkboxValues, function(key, value) { if(value===true) {
{"10":true,"11":true,"16":false}
我想删除存储在本地存储器中的特定数据,例如10
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {};
$.each(checkboxValues, function(key, value) {
if(value===true) {
delete checkboxValues[key];
}
}
});
我在onload期间存储了所有的复选框id和value,并希望在用户提交表单时删除那些具有true值的复选框id
使用上述方法,我无法删除数据。我的代码有什么问题吗?在将json对象保存到localstorage之前,请将json对象转换为字符串,然后像这样存储在localstorage中
JSON.stringify({"10":true,"11":true,"16":false});
然后,在解析正确的东西时,只需保存,请将json对象转换为字符串
这是更新后的代码
var jsonData = JSON.stringify({"10":true,"11":true,"16":false});
localStorage.setItem('checkboxValues', jsonData);
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {};
$.each(checkboxValues, function(key, value) {
if(value===true) {
delete checkboxValues[key];
}
});
这表明它工作得很好
在将json对象保存到localstorage之前,请将json对象转换为字符串,然后像下面这样存储在localstorage中
JSON.stringify({"10":true,"11":true,"16":false});
然后,在解析正确的东西时,只需保存,请将json对象转换为字符串
这是更新后的代码
var jsonData = JSON.stringify({"10":true,"11":true,"16":false});
localStorage.setItem('checkboxValues', jsonData);
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {};
$.each(checkboxValues, function(key, value) {
if(value===true) {
delete checkboxValues[key];
}
});
这表明它工作得很好
要从本地存储中删除项目,您必须使用
removietem()
函数,但实际上您需要更新它。因此,首先必须覆盖现有值。请参阅下面的代码。这是一个
//设置第一次使用的值
setItem(“checkboxValues”,JSON.stringify({
“10”:对,
“11”:对,
“16”:假
}));
//获取值并更新
var checkboxValues=JSON.parse(localStorage.getItem('checkboxValues'))|{};
$.each(复选框值、函数(键、值){
如果(值===true){
删除checkboxValues[键];
}
})
//将更新后的值存储回localStorage
setItem(“checkboxValues”,JSON.stringify(checkboxValues));
log(JSON.stringify(checkboxValues))//日志{“16”:false}
log(JSON.parse(localStorage.getItem('checkboxValues'));
//只使用一个属性{16:false}记录对象
要从localStorage中删除项,您必须使用removietem()
函数,但实际上需要更新它。因此,首先必须覆盖现有值。请参阅下面的代码。这是一个
//设置第一次使用的值
setItem(“checkboxValues”,JSON.stringify({
“10”:对,
“11”:对,
“16”:假
}));
//获取值并更新
var checkboxValues=JSON.parse(localStorage.getItem('checkboxValues'))|{};
$.each(复选框值、函数(键、值){
如果(值===true){
删除checkboxValues[键];
}
})
//将更新后的值存储回localStorage
setItem(“checkboxValues”,JSON.stringify(checkboxValues));
log(JSON.stringify(checkboxValues))//日志{“16”:false}
log(JSON.parse(localStorage.getItem('checkboxValues'));
//只使用一个属性{16:false}记录对象
是的,我记录了。但它不会删除特定的数据。奇怪的是,只需复制粘贴上面的代码,就像我在chrome控制台的屏幕截图中所做的那样,并在删除数据后看到outputI am missing update local storage语句。谢谢你的帮助,是的。但它不会删除特定的数据。奇怪的是,只需复制粘贴上面的代码,就像我在chrome控制台的屏幕截图中所做的那样,并在删除数据后看到outputI am missing update local storage语句。谢谢你的帮助。