How to delete a product with ID in sessionStorage

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;
    }
  }
}
    
asked by anonymous 15.08.2017 / 18:58

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);
    
15.08.2017 / 19:42