@ForSureN1
frontend dev

Почему после цикла For ничего не срабатывает?

Добрый день, возникла проблемка, перебираю LS, и собственно после первого for, любой код отказывается выполняться, не то чтобы ошибка, а вообще ничего не работает, ни console.log, ничего, если закомментировать первый for, то второй сработает как нужно, пробовал в отдельные функции обернуть, все равно не помогает, заранее благодарю
function getAnswerQuestions(name) {
    let objectAnswers = JSON.parse(localStorage.getItem(name, questionsObj))
    console.log(objectAnswers)
    let grammarInputs = document.querySelectorAll('.test-part--grammar .question-row__input')
    let readingInputs = document.querySelectorAll('.test-part--reading .question-row__input')
    let listeningInputs = document.querySelectorAll('.test-part--listening .question-row__input')
    let writingInputs = document.querySelectorAll('.test-part--writing .question-row__input')
    let objGrammarInputs = Object.entries(grammarInputs);
    let objReadingInputs = Object.entries(readingInputs);
    let objListeningInputs = Object.entries(listeningInputs);
    let objWritingInputs = Object.entries(writingInputs);
    let answersGrammar = objectAnswers['answers']['grammar'];
    let answersReading = objectAnswers['answers']['reading'];
    let answersListening = objectAnswers['answers']['listening'];
    let answersWriting = objectAnswers['answers']['writing'];
    if(grammarInputs) {
      for(let i = 0; i <= grammarInputs.length; i++) {
        let test = 'question' + grammarInputs[i].getAttribute('name')
        if(answersGrammar.hasOwnProperty(test)) {
          if(grammarInputs[i].id === answersGrammar[test]) {
            grammarInputs[i].checked = true;
          }
        }
      };
    }
    if(readingInputs) {
      for(let i = 0; i <= readingInputs.length; i++) {
        console.log(i)
        let test = 'question' + readingInputs[i].getAttribute('name')
        console.log('test =' + test)
        if(answersReading.hasOwnProperty(test)) {
          if(readingInputs[i].id === answersReading[test]) {
            readingInputs[i].checked = true;
          }
        }
      };
    }
  }



});
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
@Teamlead_SPB
Легко ведь проверить.
Поставьте как минимум перед первым условием if лог:
console.log(grammarInputs)
Будете знать хоть, с чем заходите в цикл.
Ну и внутри какой-нибудь лог.
Затем ловите в консольке что где не так, сколько сообщений выводится.

p.s.: посчитайте количество своих итераций (их больше, чем количество перебираемых элементов из-за условия <=, уберите равно).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы