Как удалить объект в моем массиве, который был сохранен с использованием локального хранилища? - PullRequest
0 голосов
/ 31 марта 2019

Я делаю базовую корзину для покупок, которая помещает объекты в массив, используя обработчик событий 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 голосов
/ 31 марта 2019
// 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;
      }

Ваша ошибка была removeItem(product1);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...