efremandre
@efremandre
Frontend Developer

Как создать объект с счетчиком в localstorage?

Я уже просто не могу, просто не соображу как это сделать.

Нужно:
1. Крутится колесо, выпадает приз.
2. Необходимо создать счетчики, которые бы считали сколько раз выпадает каждый из призов.
3. Где-то это добро нужно сохранить, чтобы использовать в течение дня.

Как я вижу это:
1. Создаю объект.
2. Если ключ совпадает с тем, что выпало то в значении прибавляю 1
3. Сохраняю в виде объекта в localstorage

Проблемы:
1. После ребута странички, объект в localstorage перезаписывается с нуля

Чего хочу от вас друзья:
1. Помогите мне решить эту задачу. иначе моя нервная система не выдержит или подскажите иной подход. Прошу, умоляю!

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

let object = {};

	function setLocalStorige() {
		let key = document.getElementById(prize).innerText;

		if (object[key ]) {
			object[key ] += 1;
		} else {
			object[key ] = 1;
		}

		localStorage.setItem('obj', JSON.stringify(object));
	}
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@Scream034
Новичок в разработке
Если я правильно понял тебя, то как-то так?
// Загрузка объекта из localStorage при загрузке страницы
const object = JSON.parse(localStorage.getItem('obj')) || {};

// Функция, которая обновляет объект и сохраняет его в localStorage
function updateLocalStorage(prize) {
  const key = document.getElementById(prize).innerText;
  object[key] = (object[key] || 0) + 1;
  localStorage.setItem('obj', JSON.stringify(object));
}

// Пример использования функции
updateLocalStorage('prize1');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Asokr
А где проверка, на то, что значения уже есть в локалсторадж?
После каждой перезагрузки, ты пишешь туда пустые данные....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы