@Alecxandrys

Как правильно провести сравнение?

Вопрос решён, причина проблемы была в неверном показании 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)
приводит к такому же результату.
Подскажите рабочее решение.
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
dimmond_pro
@dimmond_pro
Jedi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы