一尘不染

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

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从此列表中删除单个对象。


阅读 610

收藏
2020-07-04

共1个答案

一尘不染

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

如果要从会话存储中删除指定键/值对,则需要如下所示:

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;
2020-07-04