Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除存储在本地存储中的特定项目?_Javascript_Local Storage - Fatal编程技术网

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语句。谢谢你的帮助。