Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запись массива в localStorage (https://javascript.ru/forum/misc/76978-zapis-massiva-v-localstorage.html)

asarba 07.03.2019 20:03

Запись массива в localStorage
 
Объясните пожалуйста одну вещь:

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

//...
var storedNames = JSON.parse(localStorage.getItem("ns"));
alert(storedNames.length);

когда я ввожу запись - в локал отражается это в массиве под номером 0
при перезагрузке страницы, если вновь внести данные он перезапишет данные в массив под номером 0.

как сделать так что бы он не перезаписывал а обновлял т.е. записывал сперва под номером 0, потом под номером 1 и так далее??

NeoN 07.03.2019 21:10

думаю ns стоит с самого начала приравнивать к JSON.parse(localStorage.getItem("ns")||"[]") , а не к чистому массиву и тогда все норм должно быть

asarba 07.03.2019 21:28

Цитата:

Сообщение от NeoN (Сообщение 504512)
думаю ns стоит с самого начала приравнивать к JSON.parse(localStorage.getItem("ns")||"[]") , а не к чистому массиву и тогда все норм должно быть

Извините, а не подскажите где можно про это более подробно прочитать, я читал статьи но подобного синтаксиса не нашел, получается только одну строку заменить?

NeoN 07.03.2019 21:48

это логический оператор.
почитать можно здесь https://learn.javascript.ru/logical-ops
нужно проверять был ли записан ns в локальном хранилище ранее. и если да, то использовать записанный масив вместо пустого

asarba 07.03.2019 21:58

Спасибо большое!:thanks:


Часовой пояс GMT +3, время: 12:58.