Javascript 正在尝试将6个数组值存储到localStorage中

Javascript 正在尝试将6个数组值存储到localStorage中,javascript,local-storage,Javascript,Local Storage,数组oldData[]包含6个值。(从api获取的整数值)。 我只想把这些值放在一个名为“olddata”的本地存储键中 我到处都找遍了,没有找到任何能让这一切成功的东西。 有人能帮我一个简单的解决办法吗 我现在尝试的方式: let oldData = []; oldData.push(parkingData.availableCapacity); console.log(oldData); // Definitely holds 6 values

数组oldData[]包含6个值。(从api获取的整数值)。 我只想把这些值放在一个名为“olddata”的本地存储键中

我到处都找遍了,没有找到任何能让这一切成功的东西。 有人能帮我一个简单的解决办法吗

我现在尝试的方式:

        let oldData = [];
        oldData.push(parkingData.availableCapacity);
        console.log(oldData); // Definitely holds 6 values 
        localStorage.setItem('olddata', oldData); // Only stores the last value 
        of oldData

还尝试了一些循环,但没有成功。

localStorage
仅存储字符串

使用
JSON.stringify()
将数组设置为字符串,并在检索数据时使用
JSON.parse()
将同一字符串解析回数组

 localStorage.setItem('olddata', JSON.stringify(oldData));
let url='1〕https://datatank.stad.gent/4/mobiliteit/bezettingparkingsrealtime.json#';
让百分比;
让mainDiv=document.getElementById('mainDiv');
函数fetchParkingData(){
获取(url)
.然后((resp)=>resp.json())
.then(功能(数据){
mainDiv.innerHTML=“”;
for(设i=0;i
此处的浏览器控制台命令和输出:

>let oldData = [];
undefined
>oldData.push('1st Value');
1
>oldData.push('2nd Value');
2
>oldData.push('3rd Value');
3
>console.log(oldData);
(3) ["1st Value", "2nd Value", "3rd Value"]
undefined
>localStorage.setItem('oldData', JSON.stringify(oldData));
undefined
>JSON.parse(localStorage.getItem('oldData'));
(3) ["1st Value", "2nd Value", "3rd Value"]

是的,很抱歉,我忘了提到这一点,但已经尝试了JSON.stringify,它不起作用。结果中唯一的不同是:no stringify:302 JSON.stringify:[302]所以它只会一直取最后一个值,而不会将完整的数组放在localStorage键中……然后出现了一些错误,没有显示出来。请提供一个示例,我猜在您尝试存储该数组之后,该数组将被填充。您在控制台中看到的是一个活动对象,而不是快照。使用
console.log(oldData.join())进行确认刚刚尝试了console.log(oldData.join());结果是6个值我创建了一个新数组,现在称为names,在其中放入6个值,然后将它们推送到oldData数组中,这就得到了想要的结果,因此,当我推送parkingData时,出现了一些问题,但我不知道它会做什么,在oldData数组中创建6个数组,并将所有值放在0索引下。您需要在循环之前创建数组,只在循环之后存储它。每次迭代都要创建一个新数组并写入存储器,这就是为什么您只能看到最后一次item@charlietfl这解决了问题。谢谢!!
>let oldData = [];
undefined
>oldData.push('1st Value');
1
>oldData.push('2nd Value');
2
>oldData.push('3rd Value');
3
>console.log(oldData);
(3) ["1st Value", "2nd Value", "3rd Value"]
undefined
>localStorage.setItem('oldData', JSON.stringify(oldData));
undefined
>JSON.parse(localStorage.getItem('oldData'));
(3) ["1st Value", "2nd Value", "3rd Value"]