Javascript Node.js中类的排序数组
我正在尝试为NFL的节点创建一个功率等级。我为每个NFL球队提供了一个模型,其中包含我从外部API获取的统计数据。在每种模式下,我都有一个阵列,阵列上有球队在整个赛季的每一场nfl比赛中获得的胜利边缘。每个类都有一个getter方法,该方法只需获取该数组的平均值,就可以返回团队的平均胜利率 我的困境:我现在正试图根据平均胜利率对球队进行排名。因此,我会为每支球队设置一个阵型,在阵型的0指数处,平均获胜概率最高的球队,在阵型的31指数处,平均获胜概率最低的球队(32支nfl球队)。请参阅下面的代码,并确保查看终端响应。实际的球队阵列包含所有32支nfl球队,但不想在堆栈中发布全部内容 获取_teams.js teamModel.js 终端响应Javascript Node.js中类的排序数组,javascript,node.js,sorting,oop,Javascript,Node.js,Sorting,Oop,我正在尝试为NFL的节点创建一个功率等级。我为每个NFL球队提供了一个模型,其中包含我从外部API获取的统计数据。在每种模式下,我都有一个阵列,阵列上有球队在整个赛季的每一场nfl比赛中获得的胜利边缘。每个类都有一个getter方法,该方法只需获取该数组的平均值,就可以返回团队的平均胜利率 我的困境:我现在正试图根据平均胜利率对球队进行排名。因此,我会为每支球队设置一个阵型,在阵型的0指数处,平均获胜概率最高的球队,在阵型的31指数处,平均获胜概率最低的球队(32支nfl球队)。请参阅下面的代码
我认为您的注释代码是正确的:
// 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)
// })