我正在制作一个基本的购物车,该购物车使用click事件处理程序将对象推入数组。我设法做到了,并使用本地存储将对象保存在阵列中。我想知道的是如何现在从阵列中删除对象?当我使用pop()并刷新页面时,对象仍在数组中。当我使用localStorage.removeItem()时,它最终会删除数组中的所有对象。
我尝试了localStorage.removeItem,但是它会删除阵列中的所有对象。
这是我的一些代码:
// Add to cart
var cart = JSON.parse(localStorage.getItem('cart')) || [];
var product1 = {
name: "product1",
price: 90.00
};
document.getElementById("cart-button").addEventListener("click", addToCart);
function addToCart() {
cart.push(product1.name + "<br />" + product1.price);
localStorage.setItem('cart', JSON.stringify(cart));
document.getElementById("cart-contents").innerHTML = cart;
}
// Remove an item from the cart
document.getElementById("remove-button").addEventListener("click", removeItem);
function removeItem() {
removeItem(product1);
cart.pop();
document.getElementById("cart-contents").innerHTML = cart;
}
答案 0 :(得分:0)
created_date | count(ID)
2019-03-21 | 4
2019-03-20 | 4
2019-03-19 | 2
2019-03-18 | 1
您的错误是// Add to cart
var cart = JSON.parse(localStorage.getItem('cart')) || [];
var product1 = {
name: 'product1',
price: 90.0
};
document
.getElementById('cart-button')
.addEventListener('click', addToCart);
function addToCart() {
cart.push(product1.name + '<br />' + product1.price);
localStorage.setItem('cart', JSON.stringify(cart));
document.getElementById('cart-contents').innerHTML = cart;
}
// Remove an item from the cart
document
.getElementById('remove-button')
.addEventListener('click', removeItem);
function removeItem() {
cart.pop();
localStorage.setItem('cart', JSON.stringify(cart));
document.getElementById('cart-contents').innerHTML = cart;
}