Voroba1996
@Voroba1996
JS разработчик

Задачка на циклы в JavaScript?

623b21b1d822e569798778.png

Есть задача, фото выше!
Потратил некоторое время на её решение (код снизу:). У кого есть достаточный опыт, скажите как сделать решение данной задачи проще?

let str = ''      // Строка, будем с ней работать и в конце выведем в консоль
const size = 3    // Размер сетки
let even = false  // Флаг, указывающий на четность строки (четная - нечетная)
// Проверяем размер(size) на четность
switch(size % 2) {
    case 0: // size чётное
        for (let i = 1; i <= size * size; i++){
            if(i % 2 === 0){
                str += even ? '#' : ' '
            } else {
                str += even ? ' ' : '#'
            }
            // При каждом переносе строки меняем чётность
            if(i % size === 0){
                str += '\n'
                even = !even
            }
        }
        break;
    default: // size нечётное
        for (let i = 1; i <= size * size; i++){
            if(i % 2 === 0){
                str += ' '
            } else {
                str += '#'
            }
            if(i % size === 0){
                str += '\n'
            }
        }
        break;
}
console.log(str)
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
const chars = [' ', '#'];
const size = 8;
str = '';
for (let i = 0; i < size; i++) {
  for (let j = 0; j < size; j++) {
    str += chars[(i + j) % 2];
  }
  str += '\n';
}
console.log(str);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы