gpt4 book ai didi

javascript - 如何使用本地存储中的对象保存对象

转载 作者:行者123 更新时间:2023-11-28 03:53:57 24 4
gpt4 key购买 nike

我有一个 Videoclub 类,主要属性是(该类已经有 getter 和 setter):

var nombre = nom;
var clientes = new Array();
var productos = new Array();

我正在尝试创建 Videoclub 对象数组

let videoclubs = new Array();
let videoclub = new Videoclub("videoshop"); // videoshop is the atribute nombre
videoclubs.push(videoclub);

我尝试将数组保存在本地存储中

localStorage.setItem(nombreEnStorage, JSON.stringify(videoclubs));

当我从本地存储中获取时

function cargar(nombreEnStorage) {
let texto = localStorage.getItem(nombreEnStorage);
return JSON.parse(texto);
}

我无法访问 videoclub 的任何方法,甚至无法访问 getter 和 setter。

控制台说:

Uncaught TypeError: videoclubs[0].getNombre is not a function

最佳答案

这里有一个工作示例

 let persons = new Array();
let obj1 = {name: "John Doe", age: 30, car: {color: "red", model: "Honda"}};

persons.push(obj1);
localStorage.setItem("persons", JSON.stringify(persons));
function cargar(nombreEnStorage) {
let texto = localStorage.getItem(nombreEnStorage);
return JSON.parse(texto);
}
cargar("persons");
let personsFromLocalStorage = cargar("persons");
console.log(personsFromLocalStorage);

如果您想再次转换回类 Object 以访问函数,请执行以下操作:

Object.cast = function cast(rawObj, constructor)
{
var obj = new constructor();
for(var i in rawObj)
obj[i] = rawObj[i];
return obj;
}
var fooJSON = Object.cast(persons, Object)[0];
console.log(fooJSON);

关于javascript - 如何使用本地存储中的对象保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47732945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com