如何通过搜索值而不是键来删除 localStorage 键对值?

Kud*_*uda 4 javascript local-storage

假设我的 localStorage 看起来像这样。

item1:123,
item2:124,代
币:5487354787

有什么办法可以做类似的事情localStorage.removeItem('123')而不是必须做localStorage.removeItem("item1")吗?

Dan*_*ger 6

您可以在localStorageusing 中迭代所有条目Object.entries()

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

或者,可以使用以下方法完成相同的操作Object.keys()

function removeLocalStorageValue(targetValue) {
  Object.keys(localStorage).forEach((key) => {
    if (localStorage.getItem(key) === targetValue) localStorage.removeItem(key);
  });
}
Run Code Online (Sandbox Code Playgroud)