虽然我很有信心该解决方案必定存在,但我还是在其他stackoverflow帖子中苦苦寻找。如果真的有,请指引我正确的方向。
我正在尝试使用体育数据在Javascript中进行标准的分组操作。我的数组对象如下:
const myData = [
{team: "GSW", pts: 120, ast: 18, reb: 11},
{team: "GSW", pts: 125, ast: 28, reb: 18},
{team: "GSW", pts: 110, ast: 35, reb: 47},
{team: "HOU", pts: 100, ast: 17, reb: 43},
{team: "HOU", pts: 102, ast: 14, reb: 32},
{team: "SAS", pts: 127, ast: 21, reb: 25},
{team: "SAS", pts: 135, ast: 25, reb: 37},
{team: "SAS", pts: 142, ast: 18, reb: 27}
]
我的数据中每一行都对应着一个具体的篮球比赛结果。简单来说,我想要按照数据进行分组,并对分组后的数据应用平均函数。我期望得到的结果是:
const groupedData = [
{team: "GSW", pts: 118.3, ast: 27.0, reb: 25.3},
{team: "HOU", pts: 101, ast: 15.5, reb: 37.5},
{team: "SAS", pts: 134.7, ast: 21.3, reb: 29.7}
]
我希望在这里使用原生JavaScript中的reduce()...根据我对reduce的了解,这似乎是最好的方法。我目前正在处理这个问题,如果在其他人发布答案之前我能让它起作用,我会发布结果。
编辑:我的实际数据有大约30个键。我希望找到一个简单的解决方案,只需要让我指定要按团队列分组,然后假设其余的都是分组,或者(b)传递一个统计列的数组(pts,asts等),而不是为每个统计项创建一行。
谢谢!