Вопрос решён, причина проблемы была в неверном показании squad.placed, который перед проверкой здесь изменялся.
День добрый,
При прохождении массива циклом forEach у некоторых элементов свойство может быть null.
Для проверки используется условие:
battle.BS.deck1.forEach(function(squad) {
console.log(squad.model);
if (squad.model===null && squad.placed)
{
squad.model=game.squads.create(game.map[squad.row][squad.column].xCoordinate,game.map[squad.row][squad.column].yCoordinate,squad.name);
}
else if ( squad.model.position.x!=battle.BS.map[squad.row][squad.column].xCoordinate || squad.model.position.y!=battle.BS.map[squad.row][squad.column].yCoordinate)
{
squad.model.position.x=game.map[squad.row][squad.column].xCoordinate;
squad.model.position.y=game.map[squad.row][squad.column].yCoordinate;
}
});
Но при проходе данного куска происходит следующие:
null
TypeError:squad.model is null
Пошаговое прохождение указывает, что ошибка бросается при переходе на условие.
Проверка по типу
if (typeof(squad.model)==={} && squad.placed)
приводит к такому же результату.
Подскажите рабочее решение.