Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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_Html_Local Storage - Fatal编程技术网

Javascript 如何从本地存储中删除选定对象

Javascript 如何从本地存储中删除选定对象,javascript,html,local-storage,Javascript,Html,Local Storage,我正在寻找一种方法来删除数组中的一个对象,而不必删除所有本地存储,比如使用local.storage.clear <!DOCTYPE html> <html> <body> <p id="demo"></p> <input id="click"type="checkbox" onclick="savelocalstorage()"> </button> <script>

我正在寻找一种方法来删除数组中的一个对象,而不必删除所有本地存储,比如使用
local.storage.clear

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
我尝试使用
Local.storage.removietem
,但没有成功。我还使用了
JSON.stringify
来设置项目,是否有其他选择?谢谢大家!

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
var n=0; 函数savelocalstorage() { var myarray=[ {格式:“jpg”,名称:“Alice”}, {格式:“jpg”,名称:“Jack”}, ]; 如果(n%2==1){ document.getElementById(“单击”).checked=false; removietem(myarray[0]); }否则{ document.getElementById(“单击”).checked=true; localStorage[“myarray”]=JSON.stringify(myarray[0]); } n++; }
本地存储的密钥必须是字符串,您传递的对象不能是密钥

本地存储的密钥必须是字符串,您传递的对象不能是密钥

您正在执行以下操作:

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
localStorage.removietem(myarray[0])

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
但是
myarray[0]
是一个对象,而存储该对象的键是字符串
“myarray”
。在这两种情况下都使用字符串。

您正在执行以下操作:

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
localStorage.removietem(myarray[0])

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>

但是
myarray[0]
是一个对象,而存储该对象的键是字符串
“myarray”
。在这两种情况下都使用该字符串。

您需要从本地存储器m中获取项目,删除第一个元素并将其存储回去

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
var n=0;
函数savelocalstorage(){
var myarray=[{
格式:“jpg”,
姓名:“爱丽丝”
},
{
格式:“jpg”,
姓名:“杰克”
}
];
如果(n%2==1){
document.getElementById(“单击”).checked=false;
//获取存储并删除第一个元素
让itm=JSON.parse(localStorage.getItem('myarray')).shift();
setItem('myarray',JSON.stringify(itm));
}否则{
document.getElementById(“单击”).checked=true;
setItem(“myarray”,JSON.stringify(myarray[0]);
}
n++;
}

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>

您需要从本地存储器中获取项目,删除第一个元素并将其存储回去

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>
var n=0;
函数savelocalstorage(){
var myarray=[{
格式:“jpg”,
姓名:“爱丽丝”
},
{
格式:“jpg”,
姓名:“杰克”
}
];
如果(n%2==1){
document.getElementById(“单击”).checked=false;
//获取存储并删除第一个元素
让itm=JSON.parse(localStorage.getItem('myarray')).shift();
setItem('myarray',JSON.stringify(itm));
}否则{
document.getElementById(“单击”).checked=true;
setItem(“myarray”,JSON.stringify(myarray[0]);
}
n++;
}

<!DOCTYPE html>
<html>
<body>
    <p id="demo"></p>
    <input id="click"type="checkbox" onclick="savelocalstorage()">
    </button>

    <script>
        var n=0;

        function savelocalstorage()
        {
            var myarray = [
                { format: "jpg", name: "Alice" },
                { format: "jpg", name: "Jack" },
            ];

            if (n % 2 == 1) {
                document.getElementById("click").checked = false;
                localStorage.removeItem(myarray[0]);
            } else {
                document.getElementById("click").checked = true;
                localStorage["myarray"] = JSON.stringify(myarray[0]);
            }

            n++;
        }
    </script>
</body>
</html>

实际上,他正在将“myarray”作为键传递,而不是这里:
localStorage.removietem(myarray[0])
是的,但是如果你看到他在localStorage中存储的是使用JSON.stringify键“myarray”的整个对象数组,那么他不是在存储对象本身,我看到了@BrankVictoria@vwvwvw是的,你可以,但是你需要使用一个键来存储它,我建议你可以使用对象的字符串化作为键和值。。。然后,您将再次使用stringify删除它……实际上,他正在将“myarray”作为键传递,但他不在这里:
localStorage.removietem(myarray[0])
是的,但是如果你看到他在localStorage中存储的是使用JSON.stringify键“myarray”的整个对象数组,那么他不是在存储对象本身,我看到了@BrankVictoria@vwvwvw是的,你可以,但是你需要使用一个键来存储它,我建议你可以使用对象的字符串化作为键和值。。。然后,您将再次使用stringify删除它…在您保存在“myarray”中的本地存储中,为什么要尝试删除其他内容?您不需要执行
localStorage.removietem(“myarray”)@BrankVictoria应该是对的。您正在传入一个要查找以删除的对象,但您应该查找项目名称,例如:
localStorage.removietem('itemName')。在保存在“myarray”中的本地存储中,为什么要尝试删除其他内容?您不需要执行
localStorage.removietem(“myarray”)@BrankVictoria应该是对的。您正在传入一个要查找以删除的对象,但您应该查找项目名称,例如:
localStorage.removietem('itemName')