@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).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $