@annaumof

Что не так делаю?

Сам код

window.onload = function() {


  var cellActive = document.querySelectorAll('div.row div'); // Массив ячеек
  var numbers = [];

  function randomInt(min, max) {   
    var length = max - min + 1;
    var res = Math.floor(Math.random() * length) + min;
    return res;
  }    // Функция - выводит рандомное число от min до max

  while (numbers.length < 30) {           // генерируем 30 цифр от 0 ддо 100
    var number = randomInt(0, 100);
    if (!numbers.includes(number)) {
      numbers.push(number);
    }
  }

  console.log(numbers)
  console.log(cellActive)


  for (var i = 0; i < cellActive.length; i++) {  // Перед загрузкой программы удаляем все старые мины
    cellActive[i].classList.remove('mine');
  }
  
  for (var i = 0; i < numbers.length; i++) { 
    var x = numbers[i] ;  // Раскидываем 30 мин в хаотичном порядке
    cellActive[x].classList.add('mine');
  }
}


Ошибка:
5e92d692e0c75995259376.png

Выскакивает не всегда
  • Вопрос задан
  • 100 просмотров
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
if (cellActive[x]) {
    cellActive[x].classList.add('mine');
}
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вопрос на засыпку - а сколько у вас ячеек? Подозреваю, что вы генерируете случайное число, которое выходит за допустимый диапазон индексов.
Для 100 ячеек в вашей функции надо использовать диапазон (0, 99).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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