Как правильно сохранить в LocalStorage?

Есть рандомные счетчики, не получается сделать так, что бы при перезагрузке страницы, рандомящиеся числа попадали в localStorage и сохранялись. Сейчас при перезагрузке они логичным образом пересчитываются. Но как переписать код я не понимаю. Спасибо если кто-то откликнется!

весь этот код работает тут - https://faqqy.github.io/

const date = new Date(),
      myDay = date.getDay();
      
let rand,
    clientLocalHour = date.getHours(),
    timeFrom = 9,
    timeTo = 22;

function workoutsC(min, max) {
    rand = Math.floor(Math.random() * (max - min) + min);
    return rand;
};
localStorage.setItem('test', workoutsC(1, 9));

function calculatingTime() {

  if (clientLocalHour >= timeFrom && clientLocalHour <= timeTo) {
    if (myDay === 1 || myDay === 2 || myDay === 3 || myDay === 4 || myDay === 5)  {

      function workoutsA(min, max) {
        rand = Math.floor(Math.random() * (max - min) + min);
        return rand;
      }
      document.getElementById("demo").innerHTML = workoutsA(10, 20); 
       

      function workoutsB(min, max) {
        rand = Math.floor(Math.random() * (max - min) + min);
        return rand;
      }
      document.getElementById("demo2").innerHTML = workoutsB(5, 10);
    } else if (myDay === 0 || myDay === 6) {

      if (localStorage.getItem('test') !== null) {
        console.log(localStorage);
        document.getElementById("demo").innerHTML = localStorage.getItem('test');
      }
      
      function workoutsB(min, max) {
        rand = Math.floor(Math.random() * (max - min) + min);
        return rand;
      };
      document.getElementById("demo2").innerHTML = workoutsB(1, 2);
      
    }
  } else {
    document.getElementById("demo").innerHTML = 0;
    document.getElementById("demo2").innerHTML = 0;
  }

};

calculatingTime();
setInterval(calculatingTime, 2000);


Ответы (1 шт):

Автор решения: Dmitry bob

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

"use strict"

        const date = new Date(),
              myDay = date.getDay();
              
        let rand,
            clientLocalHour = date.getHours(),
            timeFrom = 9,
            timeTo = 22,
            firstId = document.getElementById('workoutsАorToday'),
            secondId = document.getElementById('trialWorkouts');

        function workouts(min, max) {
          rand = Math.floor(Math.random() * (max - min) + min);
          return rand;
        }

        if ('countWorkdayTrening' || 'countWorkdayTrialTrening' || 'countWeekendTrening' || 'countWeekendTrialTrening') === null) {
            localStorage.setItem('countWorkdayTrening', workouts(10, 20));
            localStorage.setItem('countWorkdayTrialTrening', workouts(5, 10));
            localStorage.setItem('countWeekendTrening', workouts(1, 9));
            localStorage.setItem('countWeekendTrialTrening', workouts(1, 3));
        }

        function recalculationOfData() {
          if (clientLocalHour >= timeFrom && clientLocalHour <= timeTo) {
            if (myDay === 1 || myDay === 2 || myDay === 3 || myDay === 4 || myDay === 5)  {

              firstId.innerHTML = localStorage.getItem('countWorkdayTrening');
              secondId.innerHTML = localStorage.getItem('countWorkdayTrialTrening');
               
            } else if (myDay === 0 || myDay === 6){

              firstId.innerHTML = localStorage.getItem('countWeekendTrening');
              secondId.innerHTML = localStorage.getItem('countWeekendTrialTrening');
              
            }
          } else {
            firstId.innerHTML.innerHTML = 0;
            secondId.innerHTML = 0;
          }
        };

        recalculationOfData();

→ Ссылка