2017-06-19 46 views
0

简单而简单我想为足球联赛打造一张积分榜。我的想法是建立一个带有标签(teamName)和对象(teamCompetitionStats)的地图。因此,我创建这样的一个类:我可以迭代和更新JS中地图内的对象的值吗?

export class TeamCompetitionStats { 
    teamMatches: number; 
    teamPoints: number; 
} 

而我的想法是创建一个与球队名称的地图,以及团体赛统计是这样的:

map('Barcelona', TeamCompetitionStats) 

所以,当我通过每场比赛迭代,我检查是否有团队,如果没有,我用teamName + TeamCompetitionStats向地图添加一个条目,如果它已经存在,我更新TeamCompetitionStats中的值。

问题是,我不明白我怎么能更新地图中的对象(在这种情况下,TeamCompetitionStats)的值。

不找尤其是一段代码,但只审查是否有可能,我在正确的道路或

有没有更好的办法做到这一点?

+0

这看起来像TypeScript,而不是ES6? – Bergi

+1

什么是map? – Bergi

+0

你的'TeamCompetitionStats'是可变对象,对吧?只需更新它们。 – Bergi

回答

1

检查对象是否与has一起存储。

如果它是更新所说的对象,如果没有,然后存储它。

let a = myMap.get(whatever) 
if(a) 
    updateItem(a) 
else 
    map.set(key, val); 

有没有更好的办法做到这一点?

伊莫,简单的物体适合这种情况。

let teams = {"teamA": "sickteam", "teamB": "not so sick"}; 

if (teams["teamC"]) 
teams["teamC"] = "team of clownssssss"; 
else 
teams["teamC"] = "team of clowns"; 
0

当然可以。退房Object.assign

您的来源是您的新数据,目标是整体对象。如果源不匹配目标中的任何内容,则会被添加。如果它匹配目标中的某个东西,它会被更新。

如果目标对象中的属性具有相同的密钥,则它们将被源中的属性覆盖。后来的消息来源的属性将同样覆盖更早的属性。

相关问题