После if (inn !== "") значение inn обнуляется

   Почему переменная inn обнуляется ?
 let inn = document.getElementById("inn").value;

        if (inn.length < 5) {
          alert("ИНН должен быть 5 символов");
          return;
        }

        document.getElementById("inn").readOnly = true;

        if (inn !== "") {
          let value_cookie = document.cookie.split("; ");

          let arrcook = value_cookie.filter((element, inn) => element.includes(inn + "="));

          if (arrcook.length > 0) {
            let pozic = arrcook[0].indexOf(inn + "=");
            let obiekt = JSON.stringify(arrcook[0].slice(pozic));
          }

А вы в консоль заглядывали?

Не достаточно информации чтобы понять в чем проблема и соответственно что не так.

Что значит обнуляется (опиши в формате что ожидаешь будет происходить и что происходит)?

Вот inn становится undefined

Вам split() надо делать, думается, не по разделителю "; ", а по “;”. Т.е., пробел разве нужен? Кроме того, следующая строка вашего кода делает полный бред. Метод filter работает вот так:

let results = arr.filter(function(item, index, array) {
  // если true - элемент добавляется к результату, и перебор продолжается
  // возвращается пустой массив в случае, если ничего не найдено
});

, а ваш код сделает вот что:

let arrcook = value_cookie.filter((element, '55555') => element.includes('55555' + "="));

Надо бы фильтровать как-то так:

let arrcook = value_cookie.filter( element => element.includes("=" + inn) );

Я так тоже писал. По всякому. Какая разница, если inn = undefinde
У меня код не работает, т.к. inn = undefinde
Как только заходи в if (inn != “”) {
inn становится undefinde

О том что делать будет в конце. Сперва рассуждения.

Я вижу нет ничего что бы могло привести к обнулению переменной.

Я попробовал воспроизвести поведение вот тут Edit fiddle - JSFiddle - Code Playground так же не вижу обнуления переменной.

Очень возможно что переменная на самом деле не обнуляется а наблюдаемое значение это проблема средств разработки.

Еще возможно что на переменную влияет код, описанный ниже, например еще один let inn или var inn или обращение к inn без объявления в какой-нить вызываемой ниже функции.

Что делать.

  1. Проверь чему равно значение когда значение выводится через консоль лог (так же как и в моем коде где я пробовал воспроизвести проблему).
//...
if (inn !== "") {
          console.log("inn:", inn)
          let value_cookie = document.cookie.split("; ");
//...
  1. Ради того чтобы отсечь совсем странный вариант что инпуты с id пораждают глобальные переменные, поменяй id инпута на что-то отличное от inn.
  2. Поищи есть ли во всем коде еще где-то работа с этой переменной (объявление через let или var, использование без объявления).
  3. Если ничего не помогло попробуй поменять код по ссылке что я скинул чтобы была возможность воспроизвести поведение не только в твоем браузере.

А что насчет разделителя в куках?

Значение document.cookie состоит из пар ключ=значение, разделённых ;. Каждая пара представляет собой отдельное куки.

Чтобы найти определённое куки, достаточно разбить строку из document.cookie по ;, и затем найти нужный ключ.

Чтение из document.cookie

У вас в коде идет попытка разделения по другому разделителю.

let value_cookie = document.cookie.split("; ");
console.log( value_cookie ); // Что тут выводит?

console.log(“inn:”, inn)

Uncaught ReferenceError: Cannot access ‘inn’ before initialization

вот весь скрипт

    <script>
  
      let glAnketa = {};
      function set_cooki() {
        var inn = document.getElementById("inn").value;

        if (inn.length < 5) {
          alert("ИНН должен быть 5 символов");
          return;
        }

        document.getElementById("inn").readOnly = true;

        if (inn != "") {
          let arr_cookie = document.cookie.split("; ");

          function find_element(element) {
            console.log("inn:", inn)
            let heto = element.includes(inn + "=");
            return heto;
          }

          let value_cookie = arr_cookie.filter(find_element);

          if (value_cookie.length > 0) {
            let pozic = value_cookie[0].indexOf(inn + "=");
            let obiekt = JSON.stringify(value_cookie[0].slice(pozic));
          }

          document.getElementById("vsaAnketa").style.display = "";

          let inputs = document.getElementsByTagName("input");

          for (let prop of inputs) {
            if (prop.type == "radio" && prop.id !== "" && prop.checked) {
              glAnketa[prop.id] = prop.value;
            } else if (prop.id !== "" && prop.value !== "") {
              glAnketa[prop.id] = prop.value;
            }
          }

          let inn = document.getElementById("inn").value;

          document.cookie = "" + inn + "=" + JSON.stringify(glAnketa) + "; max-age=" + 60 * 60 * 24 * 30;
        }
      }

      // setInterval(set_cooki, 30 * 1000);
    </script>

Не знаю, как у Дмитрия, но у меня без разметки не запускается…

Вот файл целиком.

Файл

let inn = document.getElementById("inn").value;

Если это убрать в конце скрипта, то появляется анкета.

1 лайк