如何删除阵列中使用本地存储保存的对象?

时间:2019-03-30 23:55:32

标签: javascript html arrays local-storage

我正在制作一个基本的购物车,该购物车使用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;
}

1 个答案:

答案 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; }