gpt4 book ai didi

javascript - 在 LocalStorage 中构建数组

转载 作者:行者123 更新时间:2023-11-29 18:13:36 25 4
gpt4 key购买 nike

我正在尝试根据电子商务网站上的产品查看历史记录在本地存储中构建一个数组。每次用户查看产品页面时,我都想将此页面的 ID 添加到本地存储的数组中。

var itemArray = [];
var myItem = $("li#ref").data("ref");
itemArray.push(myItem);
var LS = {
set: function (key, val) {
return localStorage.setItem(key, JSON.stringify(val));
},
get: function (key) {
return JSON.parse(localStorage.getItem(key));
}
};
LS.set("Viewed", itemArray);

我遇到的问题是它从来没有构建一个数组,我看到的最新产品只是覆盖了之前的产品,所以我只得到一个条目。

你知道这是否有可能实现吗?

提前致谢

理查德

最佳答案

您需要将新值附加到存储在本地存储中的现有数组,而不是新的空数组:

var LS = {
set: function (key, val) {
return localStorage.setItem(key, JSON.stringify(val));
},
get: function (key) {
return JSON.parse(localStorage.getItem(key));
}
};

var itemArray = LS.get('Viewed') || [];
var myItem = $("li#ref").data("ref");

if (itemArray.indexOf(myItem) !== -1) {
itemArray.push(myItem);
}

LS.set("Viewed", itemArray);

您可能还应该检查该值是否已经在数组中以避免重复。

关于javascript - 在 LocalStorage 中构建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261670/

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