我将列表添加到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从此列表中删除单个对象。
请参阅以下文章: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;