Объект JS изменен на true, по-прежнему обрабатывается как false

#javascript #node.js

#javascript #node.js

Вопрос:

При установке значения объекта в true он выглядит и кажется, что он изменил его, но я все еще не могу его использовать (поскольку он оставался false).

 validateNextMove() {
    Card.setArrayNextMoveValid(this.cardRepository.findAll(), false);
    let client = this.clientRepository.findByTurn(true);
    let provjera = 0;
    if (client instanceof UNOClient) {
      let cards = client.getCards();
      for (let i = 0; i < cards.length; i  ) {
        if (this.cardCanBePlaced(cards[i])) {
          provjera  ;
          cards[i].setNextMoveValid(true);
          console.log(cards[i].getNextMoveValid());
          console.log(provjera);
        }
      }
      if (provjera == 0) {
        for (let i = 0; i < cards.length; i  ) {
          cards[i].setNextMoveValid(true);
          console.log(cards[i].getNextMoveValid());
          console.log(provjera);
        }
      }
  

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

Комментарии:

1. пожалуйста, добавьте также массив.

2. Невозможно ответить на этот вопрос, не зная, что делают все эти методы. ПРИМЕЧАНИЕ: ваши фигурные скобки не сбалансированы.

3. это просто набор значений, таких как a1, a2, a3…. буква a, представляющая цвет, поэтому, когда обе карты одного цвета, она работает нормально, я хочу добавить, что если цвет выбрасываемой карты отличается, ее можно выбрасывать, если в руке нет запрошенного цвета (в основном вместо того, чтобы брать новую, вы можете выбросить любую карту, когда вам нужнонет подходящего цвета)

Ответ №1:

это мой метод проверки того, может ли карта быть размещена:

 cardCanBePlaced(card){
        let current = this.discardDeck.slice(-1)[0];
        
        if(typeof current === 'undefined'){
            return true;
        }       
     
        //Check if card is allowed
        if(
            card.getColor() === current.getColor()
            ){

                return true;
        }

        return false;
    }
  

если в приведенном выше методе я добавляю глобальную переменную для подсчета, если она есть, она все равно не заставляет ее работать, что-то вроде этого (счетчик , если есть доступная карта этого цвета)

 if(card.getColor()!= current.getColor() amp;amp; counter==0){
                return true;
            }   
  

Комментарии:

1. Вы не должны добавлять это в качестве ответа. Если вам нужно добавить больше информации к вашему вопросу, используйте ссылку «Редактировать» под вопросом и отредактируйте свой вопрос напрямую. Ответы ПРЕДНАЗНАЧЕНЫ ТОЛЬКО для ответов.