javascript хранение - Как сохранить массив в localStorage?




3 Answers

localStorage поддерживает только строки. Используйте JSON.stringify() и JSON.parse() .

var names = [];
names[0] = prompt("New member name?");
localStorage.setItem("names", JSON.stringify(names));

//...
var storedNames = JSON.parse(localStorage.getItem("names"));
массивов js

На этот вопрос уже есть ответ:

Если мне не нужен localStorage, мой код будет выглядеть так:

var names=new Array(); 
names[0]=prompt("New member name?");

Это работает. Тем не менее, мне нужно сохранить эту переменную в localStorage, и она окажется довольно упрямой. Я пробовал:

var localStorage[names] = new Array();
localStorage.names[0] = prompt("New member name?");

Где я иду не так?




Используйте JSON.stringify() и JSON.parse() как это было предложено no! Это предотвращает, возможно, редкую, но возможную проблему имени участника, которая включает разделитель (например, имя члена three|||bars ).




Подход JSON работает, то есть 7 вам нужен json2.js, с ним он отлично работает и, несмотря на один комментарий, говорящий иначе, на нем есть localStorage. это действительно похоже на лучшее решение с наименьшими проблемами. Конечно, можно писать сценарии, чтобы делать по существу то же самое, что и json2, но в этом мало смысла.

по крайней мере со следующей версией строки есть localStorage, но, как сказано, вам нужно включить json2.js, потому что это не включено самим браузером: 4.0 (совместимо; MSIE 7.0; Windows NT 6.1; WOW64; Trident / 5.0; SLCC2 .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; BRI / 2; NP06; .NET4.0C; .NET4.0E; Zune 4.7) (я бы сделал это замечанием ответ, но не может).




Related

javascript html arrays html5 local-storage