如何从sessionStorage(AngularJs)中删除单个对象

时间:2014-12-03 10:24:10

标签: javascript angularjs

我将列表添加到sessionStorage,如:

var item = new cartItem(product.id, product.name, product.price, qty);
orderItem.push(item);
sessionStorage.setItem('addedProductsList', JSON.stringify(orderItem));
var retrieveArray= JSON.parse(sessionStorage.addedProductsList);  

并且工作正常,现在我想通过productId从此列表中删除单个对象。

1 个答案:

答案 0 :(得分:9)

请参阅以下文章:http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

如果要从会话存储中删除指定键/值对,则需要这样的smth:

sessionStorage.removeItem(key)

对于你的情况:

var retrieveArray= JSON.parse(sessionStorage.addedProductsList);

for (i=0; i<retrieveArray.length; i++){
    if (retrieveArray[i].id == "Your ProductId") {
        retrieveArray.splice(i,1);
    }
}

sessionStorage.addedProductsList = retrieveArray;

此外,正确的实现允许您从sessionStorage读取,写入和删除值,就像它是常规对象一样。例如:

//save a value
sessionStorage.name = "Name";

//retrieve item
var name = sessionStorage.name;

//remove the key
delete sessionStorage.name;