Задать вопрос
@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)
приводит к такому же результату.
Подскажите рабочее решение.
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
dimmond_pro
@dimmond_pro
Jedi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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