Иногда не добавляет элемент в массив
есть такой код:
if (fields[k][c].getAttribute("data-isOpened") !== "opened") {
console.log("!opened");
if (fields[k][c].getAttribute("data-nearBombAmount") === "0") {
console.log("bomb0");
needToCheck.push([]);
needToCheck[indexN].push(k);
needToCheck[indexN++].push(c);
console.log(needToCheck[indexN-1]);
}
proper.push([]);
proper[indexP].push(k);
proper[indexP++].push(c);
console.log(proper[indexP-1]);
}
в консоль выводит !opened -> bomb0 но в массив не добавляет элемент то есть все if проходят как true, но в массив не добавляет, что видно при выводе в консоль! при том только в некоторых случаях, не всегда почему так может быть?
Ответы (2 шт):
Автор решения: Qwertiy
→ Ссылка
Скорее всего индекс находится за пределами массива.
- Проверь, что в консоли включено отображение ошибок.
- Включи автоматическую остановку на ошибках.
- Включи автоматическую остановку на пойманных ошибках.
- Проидись по шагам в отладчике.
Автор решения: Tina Gordienko_Drog
→ Ссылка
В общем нужно было не переменную использовать для хранения индекса (indexN, indexP), а писать length - 1:
needToCheck[needToCheck.length - 1].push(k);

