Получить все данные из LocalStorage (не зная имени ключа) - PullRequest
10 голосов
/ 05 февраля 2012

Я ищу способ получить всю информацию из localStorage. Проблема в том, что я не знаю, какими будут данные, так как они генерируются пользователем.

Так вот, что происходит, пользователь вводит некоторый текст, он использует javascript для манипулирования им в зависимости от того, какие флажки они отметили в форме ввода. эти поля предназначены для символов, например, если они помечают поле для @, тогда текст + @At (символ, затем слово) будет помещен в локальное хранилище, а другая половина пары будет иметь логическое значение (в данном случае 1 или 0). представляющий, был ли его проверен.

точная пара будет выглядеть так:

someString .. @ At | 1
someString .. # Hash | 0

и т.д.

Следует также отметить, что это предназначено для использования в расширении Chrome, поэтому совместимость с другими браузерами для меня не обязательна (хотя это может быть полезно для других, читающих это, поскольку я не могу найти что-либо еще, охватывающее это в сети).

Итак, если так или иначе я могу извлечь все значения в localStorage, фактически не зная имени каждого ключа? Возможно ли использовать какой-либо подстановочный знак или регулярное выражение, может быть, я пробовал это, но должен заставить его работать, используя цикл for.

Спасибо, Wez

1 Ответ

21 голосов
/ 05 февраля 2012

window.localStorage.key является решением.Пример:

var i = 0,
    oJson = {},
    sKey;
for (; sKey = window.localStorage.key(i); i++) {
    oJson[sKey] = window.localStorage.getItem(sKey);
}
console.log(oJson);
...