Javascript 在本地存储中存储阵列

Javascript 在本地存储中存储阵列,javascript,php,jquery,arrays,html,Javascript,Php,Jquery,Arrays,Html,我有一个包含多个问题的测验页面,该页面一次显示一个问题。问题的答案显示在按钮中。无论何时按下按钮,都会从数据库中抓取第二个问题并显示出来。我有一个脚本,它将按下按钮的值放入一个数组中,但是当页面被重新加载时,数组被清空。我被告知使用localstorage,但我不知道这是如何工作的,这是我目前用于在阵列中存储数据的代码: $( document ).ready(function() { var antwoordenObject1= new Array();

我有一个包含多个问题的测验页面,该页面一次显示一个问题。问题的答案显示在按钮中。无论何时按下按钮,都会从数据库中抓取第二个问题并显示出来。我有一个脚本,它将按下按钮的值放入一个数组中,但是当页面被重新加载时,数组被清空。我被告知使用localstorage,但我不知道这是如何工作的,这是我目前用于在阵列中存储数据的代码:

 $( document ).ready(function() {

           var antwoordenObject1= new Array();
            $('.btn').click(function() {
                 antwoordenObject1.push($(this).val());

                  alert("newArray contents = "+ antwoordenObject1);

            });
       });
我发现这段代码用于将数组放入localstorage,但不知道如何将这两者结合起来:

var complexdata = [1,2,3,4,5,6];

// store array data to the localstorage
localStorage.setItem("list_data_key",  JSON.stringify(complexdata));

//Use JSON to retrieve the stored data and convert it 
var storedData = localStorage.getItem("complexdata");
if (storedData) {
  complexdata = JSON.parse(storedData);

}
document.write(complexdata);
像这样:

 $( document ).ready(function() {
       var antwoordenObject1 = localStorage.getItem("antwoorden");
       antwoordenObject1 = antwoordenObject1 ? JSON.parse(antwoordenObject1) : [];
       $('.btn').click(function() {
           antwoordenObject1.push($(this).val());
           localStorage.setItem("antwoorden",  JSON.stringify(antwoordenObject1));
           alert("newArray contents = "+ antwoordenObject1);

       });
});
像这样:

 $( document ).ready(function() {
       var antwoordenObject1 = localStorage.getItem("antwoorden");
       antwoordenObject1 = antwoordenObject1 ? JSON.parse(antwoordenObject1) : [];
       $('.btn').click(function() {
           antwoordenObject1.push($(this).val());
           localStorage.setItem("antwoorden",  JSON.stringify(antwoordenObject1));
           alert("newArray contents = "+ antwoordenObject1);

       });
});

您必须使用
.setItem()
.getItem()
本地存储的方法

注意:LocalStorage只能存储字符串。因此,如果您尝试:

var a={
测试:“foo”
}
setItem(“测试”,a);
它将存储
[对象]
,而不是对象本身。对于数组,它将是逗号分隔的字符串


您必须使用
JSON.stringify
JSON.parse
以及
localStorage
.setItem()
.getItem()
方法进行正确通信。

您必须使用
本地存储的
方法

注意:LocalStorage只能存储字符串。因此,如果您尝试:

var a={
测试:“foo”
}
setItem(“测试”,a);
它将存储
[对象]
,而不是对象本身。对于数组,它将是逗号分隔的字符串


你必须使用
JSON.stringify
JSON.parse
以及正确的沟通。

谢谢你!你为我节省了很多时间,让这项工作在很长一段时间内都在进行。谢谢你,老兄!你为我节省了很多时间,让这件事在很长一段时间内奏效。