Подтвердить что ты не робот

HTML5 Localstorage & jQuery: удалить ключи localstorage, начиная с определенного слова

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

Вот пример того, что у меня есть в моем localstorage: enter image description here

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

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

4b9b3361

Ответ 1

Object.keys(localStorage)
      .forEach(function(key){
           if (/^todo-|^note-/.test(key)) {
               localStorage.removeItem(key);
           }
       });

Ответ 2

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

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

    Object.keys(localStorage) 
        .forEach(function(key){ 
            if (key.substring(0,myLength) == startsWith) {
                localStorage.removeItem(key); 
            } 
        }); 
}