Массовое удаление из локального хранилища расширения по значению? - PullRequest
1 голос
/ 29 мая 2020

Я использую localstorage для отслеживания посещений домена и их отметок времени.

Вот как я его устанавливаю:

localStorage.setItem(`${domain[0]}`, JSON.stringify(Date.now()));

Какой код я бы использовал для удаления всех строк с отметкой времени старше 30 дней, чтобы пользователи не получали слишком много дополнительных данных, которые, вероятно, не будут использоваться?

Я видел много примеров удаления отдельных строк на основе ключа . Но я не могу найти ничего, связанного с массовым удалением на основе значений.

1 Ответ

0 голосов
/ 29 мая 2020

Явное перечисление всех пар ключ / значение:

const cutOff = Date.now() - 30 * 24 * 3600 * 1000;
Object.entries(localStorage).forEach(([k, v]) => {
  const time = JSON.parse(v);
  if (time < cutOff) {
    delete localStorage[k];
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...