nodejs推送不是一个功能

我很难收集一个班级


匹配示例


和比赛


匹配是匹配的集合


我的班级比赛:


const uuid = require("uuid");

// Match class is a single game Match structure

class Match {

    constructor(players) {

      this.id = uuid.v4().toString();

      this.players = players;

    }

    // Match rest methods...

    // I.E: isMatchEnded, isMatchStarted ...

  }


  module.exports = Match;

我的班级比赛


class Matches {

    constructor() {

      this.matches = {};

    }


    addMatch(match) {

      this.matches.push(match);

    }

    // Matches rest methods...   }


  module.exports = Matches;

我的主要:


    const matches = new Matches();

    const queue = new Queue();

    queue.addPlayer(new Player(1,'spt',970));

    queue.addPlayer(new Player(2,'test2',1000));

    queue.addPlayer(new Player(3,'test3',1050));

    queue.addPlayer(new Player(4,'test4',70));

    const playerOne = queue.players.find((playerOne) => playerOne.mmr === 970);

    const players = queue.searching(playerOne);

    if(players){

      const match = new Match(players);

      matches.addMatch(match);

    }

console.log(matches);

但我收到此错误:


Matches.js:7

      this.matches.push(match);

                   ^


TypeError: this.matches.push is not a function


料青山看我应如是
浏览 161回答 2
2回答

开心每一天1111

你的类的matches属性Matches不是一个数组,它是一个对象。您需要更改它以初始化数组:class Matches {    constructor() {      this.matches = [];//-------------------^^    }    addMatch(match) {      this.matches.push(match);    }    // Matches rest methods...   }  module.exports = Matches;您可以将其保留为一个对象,但您需要将一个键关联到您使用该addMatch函数添加的每个匹配项:class Matches {    constructor() {      this.matches = {};    }    addMatch(match) {      this.matches[someUniqueKey] = match;      //ex this.matches[match.id] = match    }    // Matches rest methods...   }  module.exports = Matches;

摇曳的蔷薇

在Node中,为了使用push,在你的类“匹配”中你必须声明一个ARRAY [],而不是一个对象{},然后你可以使用push。class Matches {    constructor() {      this.matches = []; //this is an ARRAY [] , not an Object {}    }    addMatch(match) {      this.matches.push(match); //you need first declare the array    }希望能帮助到你!!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript