I want to removeItem on localstorage but ı dont use localstorage.removeItem().Because ı want to delete a index in array(Sepet=array) How can ı do it ? thx
CodePudding user response:
var array = [
{
'id': 1,
'name':'test1'
},
{
'id': 2,
'name':'test2'
},
{
'id': 3,
'name':'test3'
}
];
console.log(array);
localStorage.setItem('test', JSON.stringify(array));
var selected = 1;
var getArray = JSON.parse(localStorage.getItem('test'))
getArray.splice(selected,1);
localStorage.setItem('test', JSON.stringify(getArray));
console.log(getArray);
CodePudding user response:
To get object from localStorage you need the Helper: localStorage.getItem('objectName');
. You will get a string and not a object. To transform this string to a Object you need the function JSON.parse(string)
. And on this point you can work with the object. If you will delete item by index then remove it with object[index]
and if you will remove item by value key like id: 2
then use JS Object function function like splice
to remove this item.
After that you have to stringify the object again to a string with JSON.stringify(object)
. This string you can store in the lcoalStorage withe the methode: localStorage.set(string)
That is the entire workflow.
CodePudding user response:
localStorage is meant to store String values, so if you want to remove an item at a particular index, bear in mind that you need to convert the stringyfied array into plain JS array, then remove the item with array.slice()
, and save the updated array back to localStorage.
You can checkh the Array.slice() documentation