当有很多时,如何从会话存储阵列中删除元素

时间:2015-04-01 15:22:46

标签: javascript arrays session-storage

我正在尝试从localStorage数组中删除元素。我能找到的只有localStorage.removeItem(key);

我无法理解它是如何工作的,因为我有2个sessionStorage。那好吗?

到目前为止我有这个

var theCart = JSON.parse(sessionStorage.getItem("ProductName")); // Retrieving
var quantity = JSON.parse(sessionStorage.getItem("QuantityOFprod"));
var prodprice = JSON.parse(sessionStorage.getItem("sum"));

ProductName,QuantityOFprod和sum是数组。 我现在不知道如何形成localstorage.removeItem以选择数组,然后在数组中选择一个元素。我试过这个

sessionStorage.removeItem("ProductName", JSON.stringify(namee));

namee是一个变量,它包含我想在特定sessionStorage数组中删除的元素。但它所做的只是删除所有内容。

1 个答案:

答案 0 :(得分:2)

你必须这样做:

  1. 阅读条目
  2. 从JSON解码
  3. 删除元素
  4. 编码为JSON
  5. 更新条目

    tmp = JSON.parse(sessionStorage.getItem("ProductName"));
    delete tmp["key to remove"];
    sessionStorage.setItem("ProductName", JSON.stringify(tmp));
    
  6. 完成。