Javascript 累积分数
我有一个如下表所示的对象数组。每个对象表示足球比赛的结果。实际数组包含的记录比我这里的记录多得多。在每场比赛中,得分最高的队(主场或客场)得3分,得分最低的队得0分。如果分数相同,每队得1分。我想创建逻辑,为每个独特的团队聚合积分,无论他们是主场还是客场。我希望看到不同类型的选项(更新的语法等),尤其是一个普通的javascript解决方案Javascript 累积分数,javascript,arrays,Javascript,Arrays,我有一个如下表所示的对象数组。每个对象表示足球比赛的结果。实际数组包含的记录比我这里的记录多得多。在每场比赛中,得分最高的队(主场或客场)得3分,得分最低的队得0分。如果分数相同,每队得1分。我想创建逻辑,为每个独特的团队聚合积分,无论他们是主场还是客场。我希望看到不同类型的选项(更新的语法等),尤其是一个普通的javascript解决方案 我也计划完成它,但我正在努力想出任何简洁的东西 [{ "_id" : ObjectId("5a4824f3a469a068edc875e2"),
我也计划完成它,但我正在努力想出任何简洁的东西
[{
"_id" : ObjectId("5a4824f3a469a068edc875e2"),
"homeTeam" : "Team1",
"homeScore" : 2,
"awayTeam" : "Team2",
"awayScore" : 1,
}
{
"_id" : ObjectId("5a4824f3a469a068edc894e9"),
"homeTeam" : "Team2",
"homeScore" : 2,
"awayTeam" : "Team3",
"awayScore" : 1,
},{
"_id" : ObjectId("5a4824f3a469a068edc554e7"),
"homeTeam" : "Team4",
"homeScore" : 1,
"awayTeam" : "Team5",
"awayScore" : 1,
}]
var数据=[{
“_id”:“5a4824f3a469a068edc875e2”,
“主队”:“第1队”,
“家庭核心”:2,
“awayTeam”:“团队2”,
“awayScore”:1,
},
{
“_id”:“5a4824f3a469a068edc894e9”,
“主队”:“第二队”,
“家庭核心”:2,
“awayTeam”:“团队3”,
“awayScore”:1,
},{
“_id”:“5a4824f3a469a068edc554e7”,
“主队”:“第四队”,
“家庭核心”:1,
“awayTeam”:“团队5”,
“awayScore”:1,
}];
var teamStats={};
var i=0;
对于(;i
预期输出是什么?此外,在第一个对象后缺少逗号。我想这是个打字错误。。。。这是谷歌搜索“javascript累积”时的第一个结果。“我也计划完成它,但我正在努力想出任何简洁的东西。”事实并非如此。这不是一个代码编写服务。想出一些办法,当你有困难的时候,我们可以帮你让它工作。谢谢你,艾米,我有办法的时候会回来找你,下次我会记住的。对于任何帮助过我的人,我都很感激。乔治·杰普蒂,我想要一个拥有团队总分和其他一些统计数据的对象数组,但一旦我走上正确的道路,我会自己解决这个问题。谢谢大卫·霍拉克。正如艾米所建议的,我将首先尝试解决这个问题,并在回来标记之前将您的解决方案作为参考。
var data = [{
"_id" : "5a4824f3a469a068edc875e2",
"homeTeam" : "Team1",
"homeScore" : 2,
"awayTeam" : "Team2",
"awayScore" : 1,
},
{
"_id" : "5a4824f3a469a068edc894e9",
"homeTeam" : "Team2",
"homeScore" : 2,
"awayTeam" : "Team3",
"awayScore" : 1,
},{
"_id" : "5a4824f3a469a068edc554e7",
"homeTeam" : "Team4",
"homeScore" : 1,
"awayTeam" : "Team5",
"awayScore" : 1,
}];
var teamStats = {};
var i = 0;
for(;i < data.length; i++) {
// New Home team
if(teamStats[data[i].homeTeam] == undefined) {
teamStats[data[i].homeTeam] = {
name: data[i].homeTeam,
score: 0
}
}
// New Away team
if(teamStats[data[i].awayTeam] == undefined) {
teamStats[data[i].awayTeam] = {
name: data[i].awayTeam,
score: 0
}
}
// Update score
teamStats[data[i].homeTeam].score += data[i].homeScore;
teamStats[data[i].awayTeam].score += data[i].awayScore;
}
// teamStats contains a scores of all teams