How could I use
window.localStorage.getItem();
to specify items in localstarage that start with the string \'QQ\'
. In my case the key
for ( var info in window.localStorage ){
if ( info.substring( 0 , 2 ) === "QQ"){
var data = window.localStorage.getItem( info ) );
console.log(info);
}
code not tested
Came across this and here is a solution in es6 :
let search = 'QQ';
let values = Object.keys(localStorage)
.filter( (key)=> key.startsWith(search) )
.map( (key)=> localStorage[key] );
You don't, get all the items and check them individually (code not tested):
var results = [];
for (i = 0; i < window.localStorage.length; i++) {
key = window.localStorage.key(i);
if (key.slice(0,2) === "QQ") {
results.push(JSON.parse(window.localStorage.getItem(key)));
}
}
If you want to do queries use something like IndexedDB.
I use this:
var keyIndex = 0;
var thisKey = window.localStorage.key(keyIndex);
while(thisKey != '' && thisKey != undefined)
{
if (thisKey.substr(0, 2) == 'QQ')
{
// do whatever you need to do with thisKey
}
keyIndex+= 1;
thisKey = window.localStorage.key(keyIndex);
}
But robertc's solution is right too, it's a bit more simple that way. I actually changed my code to do a for loop too.