Риск быть пониженным, я публикую то, что должно быть очень простой проблемой, но мне трудно понять, где я иду не так, как надо.Прежде чем понизить голос, пожалуйста, поймите, что я смотрел на это в течение некоторого времени, пытаясь увидеть свою ошибку, и это (неловкое) последнее средство.
Я пытаюсь создать карту бинго nxn* Размер 1004 *Таким образом, будет массив длиной n (строки сверху вниз), каждый элемент которого будет содержать другой массив длиной n (отдельные квадраты), каждый элементкоторый будет содержать объект для описания состояния этого квадрата (число, было ли оно найдено или нет).В качестве доказательства концепции я просто заполняю квадраты числами от 1 до nxn и буду перетасовывать числа позже.Таким образом:
bingo = {
card: [],
createCard: function (size) {
this.card.length = 0; // empty card
size = Math.abs(+size) || 15; // should be positive and greater than 0
let lineArray = [];
for (let i = 0, n = 0; i < size; i++) {
lineArray.length = 0;
for (let j = 0; j < size; j++) {
lineArray.push({line: i, num: ++n, checked: false});
}
this.card.push(lineArray);
}
}
}
bingo.createCard(15);
Проблема в том, что каждая из строк одинакова.Это происходит в каждом i - вся карта заполнена линиями одинаковых значений,
[ { line: 1, num: 16, checked: false },
{ line: 1, num: 17, checked: false },
{ line: 1, num: 18, checked: false },
{ line: 1, num: 19, checked: false },
{ line: 1, num: 20, checked: false },
{ line: 1, num: 21, checked: false },
{ line: 1, num: 22, checked: false },
{ line: 1, num: 23, checked: false },
{ line: 1, num: 24, checked: false },
{ line: 1, num: 25, checked: false },
{ line: 1, num: 26, checked: false },
{ line: 1, num: 27, checked: false },
{ line: 1, num: 28, checked: false },
{ line: 1, num: 29, checked: false },
{ line: 1, num: 30, checked: false } ] ]
, заканчивающимися заполнением последней карты 15 строками
[ { line: 14, num: 211, checked: false },
{ line: 14, num: 212, checked: false },
{ line: 14, num: 213, checked: false },
{ line: 14, num: 214, checked: false },
{ line: 14, num: 215, checked: false },
{ line: 14, num: 216, checked: false },
{ line: 14, num: 217, checked: false },
{ line: 14, num: 218, checked: false },
{ line: 14, num: 219, checked: false },
{ line: 14, num: 220, checked: false },
{ line: 14, num: 221, checked: false },
{ line: 14, num: 222, checked: false },
{ line: 14, num: 223, checked: false },
{ line: 14, num: 224, checked: false },
{ line: 14, num: 225, checked: false } ],
это должно быть петля - или какая-то трагическая ошибка в моем коде - но я не вижу ее после долгих размышлений.Где лежит ошибка?Спасибо за любую помощь.