为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs推送不是一个功能

nodejs推送不是一个功能

料青山看我应如是 2022-01-13 16:57:16
我很难收集一个班级匹配示例和比赛匹配是匹配的集合我的班级比赛:const uuid = require("uuid");// Match class is a single game Match structureclass 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
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

你的类的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;


查看完整回答
反对 回复 2022-01-13
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

在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

    }


希望能帮助到你!!


查看完整回答
反对 回复 2022-01-13
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信