2014-11-28 5 views
0

Мне нужно сохранить весь домен localStorage в переменной и позже установить его снова из переменной.Сохраните и установите все localstorage в переменной

Я пытаюсь сохранить LocalStorage с этим кодом:

for (var i = 0, len = localStorage.length; i < len; ++i) { 
objects = JSON.stringify(localStorage.getItem(localStorage.key(i))); 
} 
console.log(objects); 

Но это дает мне ошибку. И как я могу установить все localstorage из переменной? Что-то вроде этого?

for (var i = 0, len = objects.length; i < len; i++) { 
     localStorage.setItem(len, objects(i); 
} 

ответ

0

Вы могли бы сделать что-то вроде этого, чтобы установить элементы:

function setItem(key, value){ 
    if (typeof value === 'object') { 
     value = JSON.stringify(value); 
    } 
    localStorage.setItem(key, value); 
} 

и что-то вроде этого, чтобы получить его:

function getItem(key){ 
    if (key){ 
     try{ 
      return JSON.parse(localStorage.getItem(key)); 
     } 
     catch(e){ 
      return localStorage.getItem(key); 
     } 
    } 
} 

localStorage только сохранить строки, числа или булевы, так что если ваше значение - это объект, который вам нужен для stringify перед тем, как сохранить его, а затем, когда вы его получите, вам понадобится parse он снова к объекту.

Теперь возьмите эти 2 функции и используйте их как обертки для доступа к значениям localStorage в ваших циклах.

[Update - Установка Loops]

Получить данные

var objects = {}; 
for (var i = 0, len = localStorage.length; i < len; i++) { 
    objects[localStorage.key(i)] = getItem(localStorage.key(i)); 
} 
console.log(objects); 

Набор данных

for (var o in objects) { 
    setItem(o, objects[o]); 
} 
+0

Можете ли вы мне помочь с созданием правильных петель с функциями ? Я новичок в JS и буду вам очень признателен – qqqdddqqq

+0

@qqqdddqqq Проверьте обновленное решение. – ianaya89

+0

@qqqdddqqq, пожалуйста, проверьте его снова, я сделал некоторые исправления. – ianaya89

Смежные вопросы