Javascript Массив работает нормально, но начинается заново, если вы покинете страницу - PullRequest
3 голосов
/ 04 мая 2020

Работа на учебе Javascript. У меня есть этот код, и он отлично работает. Мой вопрос: когда я создаю массив из формы, покидаю страницу и возвращаюсь на страницу, добавляю новые числа в массив, но массив начинается заново с новыми числами. Есть ли способ сохранить исходный массив и pu sh новые числа к нему? Или это просто способ Javascript работает?

const form = document.getElementById('form');
const show = document.getElementById('show');
let numArray = [];
//!number equals whatever is sent to this function
function getPushed(number) {
  numArray.push(number);
  localStorage.setItem('knife', JSON.stringify(numArray));
}

form.addEventListener('submit', (e) => {
  e.preventDefault();
  const numberToAdd = document.getElementById('numberAdd').value;
  parseInt(numberToAdd);
  show.innerHTML = numberToAdd;
  getPushed(numberToAdd);
});

Спасибо за ваше время

1 Ответ

3 голосов
/ 04 мая 2020

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

Вместо этого проверьте, есть ли уже данные, хранящиеся в ключе 'knife'. Если есть, используйте его, иначе по умолчанию вернитесь к вновь созданному массиву.

let numArray = [];
let storedData = localStorage.getItem('knife');
if (storedData !== null) {
  numArray = JSON.parse(storedData);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...