Как загрузить многомерный массив, используя для l oop в JS? - PullRequest
0 голосов
/ 29 апреля 2020

[только что присоединился. первый пост \ o /]

Я работаю над моей идеей проекта 'Battleblocks', чтобы помочь узнать JS, где у меня есть сетка 10x10 css динамически создаваемых div. Их можно узнать по номерам от 1 до 100, читая слева направо (строка 1 имеет 1,2,3..10, строка 2 имеет 11,12..20 et c). Мне нужно иметь вложенный массив столбцов, в котором размещаются 10-кратные массивы (columnArray [0] содержит 1,11,21..91 - columnArray [1] содержит 2,12,22..92 et c). И то же самое для строк - массив строк, который имеет 10-кратные массивы строк (rowArray [0] содержит 1,2,3..10 - rowArray [1] содержит 11,12,13..20 et c).

Я объявил массив столбцов глобально, но, как он есть, все, что я сделал до сих пор, вызывает «ах, хватит! что-то пошло не так при отображении этой веб-страницы. ошибка.

loadColsArray();


// load column arrays
function loadColsArray() {
  let rowsAr = [];
  let count = 0;
  for (let c = 1; c <= 10; c++) {

    for (let r = 0; r <= 100; r + 10) {
      rowsAr[count] = c + r;
      count++;
    }

    columnArray[c - 1] = rowsAr;
    count = 0;
    rowsAr = [];
  }
  console.log(columnArray);
}

Любая помощь приветствуется.

ps: добавлен код в виде фрагмента, потому что опция «пример кода» разбила мой вставленный код.

1 Ответ

0 голосов
/ 29 апреля 2020

В вашем коде есть несколько проблем:

  • «Aw Snap» вызван бесконечным l oop в вашем коде, который возникает из-за того, что вы никогда не увеличиваете r , Вы должны использовать r += 10 для увеличения на 10.

  • Поскольку вы инициализируете r в 0, ваше условие выхода должно быть r < 100, в противном случае 11 произойдут итерации.

  • Вам также нужно определить columnArray, прежде чем использовать его (он не определен во фрагменте).

Попробуйте это:

let columnArray = [];                       // ←

loadColsArray();

// load column arrays
function loadColsArray() {
  let rowsAr = [];
  let count = 0;
  for (let c = 1; c <= 10; c++) {

    for (let r = 0; r < 100; r += 10) {     // ←
      rowsAr[count] = c + r;
      count++;
    }

    columnArray[c - 1] = rowsAr;
    count = 0;
    rowsAr = [];
  }
  console.log(columnArray);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...