2つのアプリがlocalstorageと連携して動作しているのですが、note-とtodo-で始まるすべてのキーを削除するにはどうすればよいのでしょうか。 localstorage.clear()がすべてをクリアすることは知っていますが、それは私の目的ではありません。
これが私のローカルストレージにあるものの例です:
すべてのtodoを削除したい場合-*ボタンクリックですべてメモ-* jqueryを使用して他のボタンクリックで。
どうもありがとう
Object.keys(localStorage)
.forEach(function(key){
if (/^todo-|^note-/.test(key)) {
localStorage.removeItem(key);
}
});
@Ghostoyと同様のメソッドを使用しましたが、コード内のいくつかの場所からこれを呼び出すため、パラメーターを入力したいと思いました。正規表現でパラメーター名を使用できなかったため、代わりに部分文字列を使用しました。
function ClearSomeLocalStorage(startsWith) {
var myLength = startsWith.length;
Object.keys(localStorage)
.forEach(function(key){
if (key.substring(0,myLength) == startsWith) {
localStorage.removeItem(key);
}
});
}