• Обьясните каким образом работает вложенный цикл, как переменная S, меняет значения?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    внешний цикл for (let i = 0; ... перебирает, условно, горизонтали (строки).
    внутренний цикл for (let k = 0; ... составляет очередную строку из клеточек, перебирает 8 клеток.

    переменная s, которая бывает или 1 или 0, означает цвет очередной клетки, и на каждой клетке меняет своё значение.

    Может, будет понятнее, если разобрать шахматную доску и все её строки собрать в одну длинную. Для краткости доску 3х3:
    0 1 0
    1 0 1
    0 1 0
    
    размотать:
    0 1 0 1 0 1 0 1 0
    Как видно, клетки меняют свой цвет всегда, в том числе при переходе к следующей строке.
    Ответ написан
    6 комментариев
  • Почему нужно отнимать единицу вот в этой строке?

    twobomb
    @twobomb
    Это обращение к последнему элементу.
    Обращение к элементам по индексам начинается с нуля.
    Тоесть допустим есть массив [543,234,654] его Length (длинна) 3
    Если мы попытаемся получить элемент по этому индексу, то выйдем за пределы массива, так как:
    Первый элемент 543 имеет индекс 0
    Второй элемент 234 имеет индекс 1
    Третий элемент 654 имеет индекс 2
    Тоесть мы чтобы обратится к последнему мы берем длинну массива 3 минус 1, получаем 2.
    Под индексом 2 получаем элемент 654 (последний)
    Ответ написан
    3 комментария