Как распечатать массив localStorage в html для цикла? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть массив в localStorage, который содержит ["January", "Febuary"]. Я хочу, чтобы он отображался в HTML, предпочтительно так:

Month
January
Febuary

Итак, я попробовал этот код:

function show(){
    for(let i = 0;i < localStorage.length;i++){
        var date = JSON.parse(localStorage.getItem("date"));
        }
    for(var b = 0; b < nameLength; b++){
        document.getElementById('storageOut').innerHTML = date[b];
        console.log(date[b]);   
    }   
}

Мой код выше работает, однако, строка "document.getElementById('storageOut').innerHTML = date[b];" выводит только последние данные в массиве, но когда я проверяю консоль, она печатает оба.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Предполагается, что ваше содержимое хранится в локальном хранилище с именем data .Попробуйте следующее.

const data = JSON.parse(localStorage.getItem('data'))
data.forEach(item => {
    document.getElementById('storageOut').innerHTML += item
})
0 голосов
/ 25 апреля 2018

Вы создаете переменную date в первом цикле for и присваиваете ей одно значение на каждой итерации.Самым простым способом, вероятно, было бы сделать это в одном цикле for:

function show(){
  for(let i = 0;i < localStorage.length;i++){
    var date = JSON.parse(localStorage.getItem("date"));
    document.getElementById('storageOut').innerHTML = date;
  }
}

Хотя, если вам нужны все даты, вам, вероятно, следует добавить его к innerHtml:

...innerHTML += date;

А точнее:

...innerText += date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...