I'm adding some items to localStorage, using jQuery/JS, which is all fine but in trying to remove a specific item within the array (if it's the same item) is proving difficult.
In my console logs (for testing) it seems to clear the [Object] but it's not updating the key. Perhaps my hierarchy is wrong... any ideas?
// function addToStorage(elem, name) { localData = localStorage.getItem(name + 'Storage'); var typefaces; if (localData == 'null' || !localData) { typefaces = []; } else { typefaces = JSON.parse(localData); } typefaceID = elem.find('input').val(); typefaceName = elem.find('input').attr('data-name'); typefacePrice = elem.find('input').attr('data-price'); typefaceQty = 1; $.each(typefaces, function(index, value) { if (value !== null) { if (value.id == typefaceID) { if (name == 'drf') { //console.log(index); //console.log(typefaces); typefaces.splice(index, 1); //console.log(typefaces); } } } }); typefaces.push({ 'id': typefaceID, 'name': typefaceName, 'price': typefacePrice, 'qty': typefaceQty }); localStorage.setItem(name + 'Storage', JSON.stringify(typefaces)); } // $(document).on('click', 'summary.cart td.font', function(e) { e.preventDefault(); addTo = $(this); addTo.each(function() { addToStorage(addTo, 'drf'); }); }); This is an example of the localData once it's been added to.
[ { "id":"dr-raymond-desktop-40374", "name":"DR-Raymond", "format":"Desktop (OTF)", "price":"15.00", "qty":1 }, { "id":"dr-raymond-webfont-39949", "name":"DR-Raymond", "format":"Webfont (WOFF)", "price":"15.00", "qty":1 } ] 