HTML5 Localstorage & jQuery: удаление ключей localalstorage, начинающихся с определенного слова - PullRequest
20 голосов
/ 29 сентября 2011

У меня есть 2 приложения, которые работают вместе с localalstorage, и мне было интересно, как я могу удалить все ключи, которые начинаются с note- и todo-.Я знаю, что localstorage.clear () очищает все, но это не моя цель.

Вот пример того, что у меня есть в моем локальном хранилище: enter image description here

Где я хочу удалить все задачи- * одним нажатием кнопки и всеми примечаниями- * другим нажатием кнопки с помощью jquery.

Большое спасибо

Ответы [ 2 ]

42 голосов
/ 29 сентября 2011
Object.keys(localStorage)
      .forEach(function(key){
           if (/^todo-|^note-/.test(key)) {
               localStorage.removeItem(key);
           }
       });
10 голосов
/ 20 июля 2012

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

function ClearSomeLocalStorage(startsWith) {
    var myLength = startsWith.length;

    Object.keys(localStorage) 
        .forEach(function(key){ 
            if (key.substring(0,myLength) == startsWith) {
                localStorage.removeItem(key); 
            } 
        }); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...