How can I remove a localStorage key-pair value by searching for the value instead of the key?

Viewed 138

Let's say my localStorage looks something like this.

item1: 123,
item2: 124,
token: 5487354787

Is there any way I can do something like localStorage.removeItem('123') instead of having to do localStorage.removeItem("item1")?

1 Answers

You can iterate over all entries in localStorage using Object.entries():

function removeLocalStorageValue(targetValue) {
  Object.entries(localStorage).forEach(([key, value]) => {
    if (value === targetValue) localStorage.removeItem(key);
  });
}

Alternatively, the same can be done with Object.keys():

function removeLocalStorageValue(targetValue) {
  Object.keys(localStorage).forEach((key) => {
    if (localStorage.getItem(key) === targetValue) localStorage.removeItem(key);
  });
}
Related