2015-04-22 4 views
1

Im, вероятно, миль, но может ли кто-нибудь сказать мне, возможно ли это.Преобразование строки обратно в массив из локального хранилища

function myFunction(){ 

var myArray = (localStorage.getItem("storedArray")); 
myArray = jQuery.makeArray(myArray); 

myArray.push(['[email protected]','15','myUsername']); 
localStorage.setItem("storedArray", JSON.stringify(grabArray)); 

localStorage.removeItem("storedArray"); 

} 

Каждый раз, когда эта функция побежала я хотел, чтобы получить массив из локальных значений хранения толкающих к нему, а затем сохранить его обратно, так как его обновление. Идея состоит в том, что после того, как событие произойдет в моем приложении, этот элемент будет очищен, чтобы снова начать регистрацию.

Когда я получил предмет из локального хранилища, я попытался вернуть его обратно в массив, но я не думаю, что это способ сделать это, поскольку он ничего не возвращает. Можно ли что-нибудь сделать с JSON?

Спасибо.

ответ

2
function myFunction() { 
      var storedArray = JSON.parse(localStorage.getItem("storedArray")); 

      if (storedArray === null) { 
       storedArray = []; 
      } 

      var obj = { 
       email: "[email protected]", 
       age: 15, 
       name: "username" 
      }; 

      storedArray.push(obj); 
      localStorage.setItem("storedArray", JSON.stringify(storedArray)); 
     } 

Установка обновленного хранимого массива на тот же ключ в локальном хранилище перезаписывает старое значение. Попробуйте этот код, и вы увидите обновленный массив.

Информация: данные локального хранилища хранятся как значение ключа.

Тротт был прав, вы пропустили, чтобы разобрать json, который вы сохранили.

JSON.stringify преобразует ваш json объект/массив в строку. Чтобы вернуть те же данные, вам нужно их разобрать.

+1

это здорово, спасибо. – jord49

0

Если вы используете JSON.stringify() для преобразования объекта в строковое представление JSON, вы можете использовать JSON.parse() для преобразования представления JSON обратно в объект.

+1

Вы могли бы отредактировать ответ вообще, чтобы показать, как это работает, пожалуйста, я долго не делал js. – jord49

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