Me gustaría restablecer el almacenamiento local diariamente y eliminar gran parte del almacenamiento anterior, pero también conservar algunos elementos importantes para algunos usuarios (localStorage.clear() no es una opción).
Todas las claves que me gustaría eliminar tienen el valor true . Los artículos importantes para mantener tienen diferentes valores. En lugar de enumerar todos los elementos (más de 200) que quiero eliminar, ¿cree que es posible eliminarlos todos a la vez al apuntar al valor verdadero?
Como puede ver en este ejemplo de JSfiddle, el botón único agrega tres elementos al almacenamiento local y dos de ellos tienen el valor real.
$(".no").on('click', function() { localStorage.removeItem(true) }); $(".one").on('click', function() { localStorage.setItem("one", true) localStorage.setItem("two", "yes") localStorage.setItem("three", true) }); .no { width: 40px; padding: 10px 40px; border: 2px solid black; } .one { width: 40px; padding: 10px 40px; border: 2px solid black; } <div class="one">one</div> <br> <div class="no">clear</div>Puedes probar con el siguiente código.
const localStorageKeys = Object.keys(localStorage); for (let key of localStorageKeys) { /*Also check with True as well if value is added like this */ if (localStorage[key] === "true" || localStorage[key] === "True") { console.log(key); } }Obtenga una lista de claves de elementos de localStorage:
const localStorageKeys = Object.keys(localStorage);Verifique dónde el valor es verdadero y elimine:
for (let key of localStorageKeys) { if (localStorage[key] === "true") { localStorage.removeItem(key); } }