gpt4 book ai didi

javascript - 从 WebStorage 获取一组的所有项目

转载 作者:行者123 更新时间:2023-12-03 05:49:40 25 4
gpt4 key购买 nike

我想使用 WebStorage 在我的网站上实现简单的购物车系统。项目是具有格式金额值的图片。有一个计数器值,其中包含当前存储中可用的项目数,每个新项目都会以以下格式添加到 WebStorage:

item<id> = 1:3,5

现在我在列出存储中的项目时遇到问题。例如,如果用户购买 5 件商品并删除 item0item3 (item -= 2),我将无法获得所有商品即使我检查存储中是否存在元素,也可以使用简单的 for 循环获取值:

var len = parseInt(localStorage.getItem("items"));
for (let i = 0; i < len; i++) {
if (localStorage.getItem("item" + i)) {
// show element on the page
}
}

Len 将是三,但我仍然会拥有不会显示的 item5

我应该创建新的项目 ID 数组并在项目从页面中删除时删除 ID,还是有更好的方法来处理此问题?

最佳答案

最好使用 JSON 对象来处理所有内容。

您的代码将类似于以下内容来设置数据:

// initial data
var cartData = {
items: ['item1', 'item2', 'item3']
};

// stringify your object so it can be saved into localStorage
localStorage.setItem('cart', JSON.stringify(cartData));

然后您可以轻松删除/循环项目:

// get cart
var cartData = JSON.parse( localStorage.getItem('cart') );

// delete 2nd item
cartData.items.splice(1, 1);

// loop through items
for(var i = 0, l = cartData.items.length; i < l; i++) {
// do something with cartData.items[i]
}

关于javascript - 从 WebStorage 获取一组的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40203350/

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