我正在尝试获取唯一的用户名和他们的总时间,但不知道如何实现这一目标。
我已经做的是一系列独特的名字,但不知道如何获得总和。
我认为这应该通过使用类似字典的结构来实现。
Dictionary<string,int>
但这种结构似乎不存在于打字稿中。
let json =[{"User":"Tom Smith","Hours": 6},{"User":"Mark Zuckerberg","Hours": 8},{"User":"Elon Musk","Hours": 12},{"User":"Tom Smith","Hours": 1},{"User":"Tom Smith","Hours": 1}];
for(var i = 0; i<json.length; i++)
{
if(!userNames.find(a => a == json[i].User))
{
userNames.push(json[i].User);
}
}
结果应该是:
汤姆史密斯8小时Mark Zuckerberg 8小时
埃隆马斯克12小时答案 0 :(得分:3)
名为Map
:
const usernames = new Map<string, number>();
for(const {User, Hours} of json)
usernames.set(User, (usernames.get(User) || 0) + Hours);
console.log([...usernames]);