Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中类的排序数组_Javascript_Node.js_Sorting_Oop - Fatal编程技术网

Javascript Node.js中类的排序数组

Javascript Node.js中类的排序数组,javascript,node.js,sorting,oop,Javascript,Node.js,Sorting,Oop,我正在尝试为NFL的节点创建一个功率等级。我为每个NFL球队提供了一个模型,其中包含我从外部API获取的统计数据。在每种模式下,我都有一个阵列,阵列上有球队在整个赛季的每一场nfl比赛中获得的胜利边缘。每个类都有一个getter方法,该方法只需获取该数组的平均值,就可以返回团队的平均胜利率 我的困境:我现在正试图根据平均胜利率对球队进行排名。因此,我会为每支球队设置一个阵型,在阵型的0指数处,平均获胜概率最高的球队,在阵型的31指数处,平均获胜概率最低的球队(32支nfl球队)。请参阅下面的代码

我正在尝试为NFL的节点创建一个功率等级。我为每个NFL球队提供了一个模型,其中包含我从外部API获取的统计数据。在每种模式下,我都有一个阵列,阵列上有球队在整个赛季的每一场nfl比赛中获得的胜利边缘。每个类都有一个getter方法,该方法只需获取该数组的平均值,就可以返回团队的平均胜利率

我的困境:我现在正试图根据平均胜利率对球队进行排名。因此,我会为每支球队设置一个阵型,在阵型的0指数处,平均获胜概率最高的球队,在阵型的31指数处,平均获胜概率最低的球队(32支nfl球队)。请参阅下面的代码,并确保查看终端响应。实际的球队阵列包含所有32支nfl球队,但不想在堆栈中发布全部内容

获取_teams.js teamModel.js 终端响应
我认为您的注释代码是正确的:

 // teams_array.sort((a, b) => {
 //   const sorted_teams_array = []
 //   if (a.Team > b.Team) {
 //     sorted_teams_array.push(a)
 //   }

 //   console.log(sorted_teams_array)
 // })
请看一下文档

sort()方法将数组中的元素就地排序并返回排序后的数组

这更像是:

const sorted\u teams\u array=teams\u array.sort((a,b)=>{
如果(a[1]。平均胜利差距>b[1]。平均胜利差距)返回-1;
如果(a[1]。平均胜利差距
缺少a)以结束.sort,但除此之外,此代码有效。非常感谢你!你就是那个人!
import stats from 'stats-lite';
import toFixed from 'tofixed';

export default class Nfl_team {
    constructor(team=String, name=String, wins=Number, losses=Number, ties=Number, win_percentage=Number,
         division_wins=Number, division_losses=Number, division_ties=Number, points_for=Number, points_against=Number) {
        this.team = team;
        this.name = name;
        this.wins = wins;
        this.losses = losses;
        this.ties = ties;
        this.win_percentage = win_percentage;
        this.division_wins = division_wins;
        this.division_losses = division_losses;
        this.division_ties = division_ties;
        this.points_for = points_for;
        this.points_against = points_against;
        this.victory_margin_arr = [];
        this.game_stats = [];
        this.offensive_stats = {};
        this.defensive_stats = {};
    }

    get record() {
        return [this.wins,this.losses,this.ties];
    }

    get division_record() {
        return [this.division_wins, this.division_losses, this.division_ties];
    }

    get average_victory_margin() {
        return stats.mean(this.victory_margin_arr);
    }
}

[
  [
 'CAR',
    Nfl_team {
      team: 'CAR',
      name: 'Carolina Panthers',
      wins: 5,
      losses: 11,
      ties: 0,
      win_percentage: 0.313,
      division_wins: 1,
      division_losses: 5,
      division_ties: 0,
      points_for: 340,
      points_against: 470,
      victory_margin_arr: [Array],
      game_stats: [Array],
      offensive_stats: [Offensive_stats],
      defensive_stats: [Defensive_stats]
    }
  ],
  [
    'SF',
    Nfl_team {
      team: 'SF',
      name: 'San Francisco 49ers',
      wins: 13,
      losses: 3,
      ties: 0,
      win_percentage: 0.813,
      division_wins: 5,
      division_losses: 1,
      division_ties: 0,
      points_for: 479,
      points_against: 310,
      victory_margin_arr: [Array],
      game_stats: [Array],
      offensive_stats: [Offensive_stats],
      defensive_stats: [Defensive_stats]
    }
  ],
  [
    'SEA',
    Nfl_team {
      team: 'SEA',
      name: 'Seattle Seahawks',
      wins: 11,
      losses: 5,
      ties: 0,
      win_percentage: 0.688,
      division_wins: 3,
      division_losses: 3,
      division_ties: 0,
      points_for: 405,
      points_against: 398,
      victory_margin_arr: [Array],
      game_stats: [Array],
      offensive_stats: [Offensive_stats],
      defensive_stats: [Defensive_stats]
    }
  ],
  [
    'LAR',
    Nfl_team {
      team: 'LAR',
      name: 'Los Angeles Rams',
      wins: 9,
      losses: 7,
      ties: 0,
      win_percentage: 0.563,
      division_wins: 3,
      division_losses: 3,
      division_ties: 0,
      points_for: 394,
      points_against: 364,
      victory_margin_arr: [Array],
      game_stats: [Array],
      offensive_stats: [Offensive_stats],
      defensive_stats: [Defensive_stats]
    }
  ],
  [
    'ARI',
    Nfl_team {
      team: 'ARI',
      name: 'Arizona Cardinals',
      wins: 5,
      losses: 10,
      ties: 1,
      win_percentage: 0.344,
      division_wins: 1,
      division_losses: 5,
      division_ties: 0,
      points_for: 361,
      points_against: 442,
      victory_margin_arr: [Array],
      game_stats: [Array],
      offensive_stats: [Offensive_stats],
      defensive_stats: [Defensive_stats]
    }
  ]
]
average victory margin for NE = 11.058823529411764
average victory margin for BUF = 3.0588235294117645
average victory margin for NYJ = -5.1875
average victory margin for MIA = -11.75
average victory margin for BAL = 13.705882352941176
average victory margin for PIT = -0.875
average victory margin for CLE = -3.625
average victory margin for CIN = -8.8125
average victory margin for HOU = -1.3333333333333333
average victory margin for TEN = 4.368421052631579
average victory margin for IND = -0.75
average victory margin for JAX = -6.0625
average victory margin for KC = 9.736842105263158
average victory margin for DEN = -2.125
average victory margin for LV = -6.625
average victory margin for LAC = -0.5
average victory margin for PHI = 1.3529411764705883
average victory margin for DAL = 7.0625
average victory margin for NYG = -6.875
average victory margin for WAS = -10.5625
average victory margin for GB = 2.8333333333333335
average victory margin for MIN = 5.166666666666667
average victory margin for CHI = -1.125
average victory margin for DET = -5.125
average victory margin for NO = 6.529411764705882
average victory margin for TB = 0.5625
average victory margin for ATL = -1.125
average victory margin for CAR = -8.125
average victory margin for SF = 10.105263157894736
average victory margin for SEA = 0.5555555555555556
average victory margin for LAR = 1.875
average victory margin for ARI = -5.0625
 // teams_array.sort((a, b) => {
 //   const sorted_teams_array = []
 //   if (a.Team > b.Team) {
 //     sorted_teams_array.push(a)
 //   }

 //   console.log(sorted_teams_array)
 // })