How to delete a product with ID in sessionStorage

Asked

Viewed 322 times

0

I have a function that takes the product id and this id checks the product of a sessionStorage. How do I get him to delete the id product?

//dadosdoproduto se refere ao seguinte método    
dadosproduto: [
  {
    "id":"12345",
    "nome":"teste",
    "quantidade":"5",
    "valor":"4"
  },
];

function excluirProdutoStorage (idStorage) {
  var getprodutosArray = sessionStorage.getItem('dadosproduto');
  var parseResult = JSON.parse(getprodutosArray);
  parseResult.forEach(function(item)
  {
    var idProduto = item.idprodutocart;
    if (idProduto == idStorage)
    {
      sessionStorage.removeItem(idProduto);
      return true;
    }
  }
}
  • if I’m not mistaken to remove the item has to be with his key removeItem(key)

  • yes but there are several ids I wanted to delete only the product id that guy select and pass on function.

  • look I know in Storage location we have a key and the key value, where the value in case is your json.. if I were to remove it would take the key value and use the function, for example minhakey: {"id":"12345", "nome":"teste","quantidade":"5", "valor":"4"} removeItem(minhakey)

1 answer

0


//Salve o local storage da seguinte maneira
var obj = {
    "dadosproduto": [{
      "id": "01",
      "nome": "nome1",
      "quantidade": "10",
      "valor": "4"
    }, {
      "id": "02",
      "nome": "nome2",
      "quantidade": "20",
      "valor": "5"
    }]
  };

localStorage.setItem("cart", JSON.stringify(obj));


/*****************Função para remover******************/
function removeItem(id) {
  var index = -1;
  var obj = JSON.parse(localStorage.getItem("cart")) || {}; //localStorage Nome
  var items = obj.dadosproduto || []; //get todos produtos
  for (var i = 0; i < items.length; i++) { //loop para buscar o id
    if (items[i].id === id) { //verifica id
      items.splice(i, 1); //remove item
      break; //finaliza o loop
    }
  }
  localStorage.setItem("cart", JSON.stringify(obj)); //reescreve a localStorage
}

/******************Testes*********************/
console.log(localStorage.cart);
removeItem("01");
console.log(localStorage.cart);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.