Как удалить значение пары ключей localStorage, выполнив поиск значения вместо ключа? - PullRequest
4 голосов
/ 06 мая 2020

Допустим, мой localStorage выглядит примерно так.

item1: 123,
item2: 124,
token: 5487354787

Есть ли как я могу сделать что-то вроде localStorage.removeItem('123') вместо localStorage.removeItem("item1")?

1 Ответ

6 голосов
/ 06 мая 2020

Вы можете перебирать все записи в localStorage, используя Object.entries():

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

В качестве альтернативы то же самое можно сделать с помощью Object.keys() :

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