Вложено для циклов - Порядок вывода для строк в объектах и ​​массивах - PullRequest
0 голосов
/ 07 декабря 2018

Я просто не могу понять это.Итак, у меня есть классная команда и классный игрок.Объекты игрока хранятся в их команде (объекте).

Сами команды хранятся в объекте listofteams.

Каждый раз, когда создается команда или игрок, я хочу, чтобы javascript проходил черезперечислите и добавьте каждую команду со своими игроками.Например:

КОМАНДА 1 - Игрок 1 - Игрок 2

КОМАНДА 2 - Игрок 3

К сожалению, текущий вывод выглядит следующим образом:

КОМАНДА 1- Игрок 1 - Игрок 2 - Игрок 3

КОМАНДА 2 - Игрок 3 принадлежит команде 2, но напечатан под командой 1.

Как мне управлятьциклически перебирать мои объекты и массивы, чтобы игроки добавлялись ниже команды, к которой они фактически принадлежат?

Вот классы:

 class Team {
     constructor(teamname, teamleague ) {
         this.teamname = teamname;
         this.teamleague = teamleague;
         this.players = [];
         this._id = this.generateid();
     }
     generateid() {
         return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
           var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
           return v.toString(16);
         });
       }

 };

 class Player {
     constructor (playerteam, playerfirstname, playerlastname, playernumber) {
     this.playerteam = playerteam;
     this.playerfirstname = playerfirstname;
     this.playerlastname = playerlastname;
     this.playernumber = playernumber;
     this.team_id = $('#select-native-2 option:selected').attr("id");
     }
 };

Вот мой цикл:

function writeall () {
    $("#teamappendarea").empty();

    for(element in listOfTeams){ 
        $("#teamappendarea").append("<p>" + listOfTeams[element].teamname + "</p>");
            for (var i = 0; i < listOfTeams[element].players.length; i++){

                $("#teamappendarea").append("<p>" + listOfTeams[element].players[i].playerlastname + "</p>");
            }
        } 
};

console.log команд показывает

{
  "981929ef-c918-4e59-9296-49581bcba144": {
    "teamname": "team1",
    "teamleague": "",
    "players": [{
      "playerteam": "team1",
      "playerfirstname": "Player1",
      "playerlastname": "Player1",
      "playernumber": "1111",
      "team_id": "981929ef-c918-4e59-9296-49581bcba144"
    }, {
      "playerteam": "team2",
      "playerfirstname": "Player2",
      "playerlastname": "Player2",
      "playernumber": "1111",
      "team_id": "7d2ab469-a33a-4246-94d1-fdc98886f0c1"
    }],
    "_id": "981929ef-c918-4e59-9296-49581bcba144"
  },
  "7d2ab469-a33a-4246-94d1-fdc98886f0c1": {
    "teamname": "team2",
    "teamleague": "",
    "players": [],
    "_id": "7d2ab469-a33a-4246-94d1-fdc98886f0c1"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...