Как я могу получить список элементов, хранящихся в локальном хранилище html 5 из javascript?
Как я могу получить список элементов, хранящихся в локальном хранилище html 5, из javascript?
Ответ 1
От ссылка HTML5:
Как и другие объекты JavaScript, вы может обрабатывать объект localStorage как ассоциативный массив. Вместо того, чтобы использовать методы getItem() и setItem(), вы можете просто использовать квадратные скобки.
localStorage.setItem('test', 'testing 1');
localStorage.setItem('test2', 'testing 2');
localStorage.setItem('test3', 'testing 3');
for(var i in localStorage)
{
console.log(localStorage[i]);
}
//test for firefox 3.6 see if it works
//with this way of iterating it
for(var i=0, len=localStorage.length; i<len; i++) {
var key = localStorage.key(i);
var value = localStorage[key];
console.log(key + " => " + value);
}
Это выведет:
testing 3
testing 2
testing 1
test3 => testing 3
test2 => testing 2
test => testing 1
Вот JSFiddle Demo
Ответ 2
localStorage ссылается на окно объекта. Хранилище, поэтому вы можете использовать его как друг для друга:
Получить массив элементов
Object.keys(localStorage)
Получить длину
Object.keys(localStorage).length
Итерация с помощью jquery
$.each(localStorage, function(key, value){
.....
})
Ответ 3
Так как localStorage является ключевым значением со строками, просто сериализуйте его с помощью JSON и десериализуйте его, когда вы хотите его получить.
localStorage.setItem("bar", JSON.stringify([1,2,3]));
var foo = localStorage.getItem("bar");
JSON.parse(foo);
// returns [1,2,3]
Ответ 4
вы можете использовать Object.assign()
:
var data = Object.assign({}, localStorage)