const salaries = {
Progger: {salary: 1000, tax: '15%'},
Tester: {salary: 800, tax: '10%'},
Manager: { salary: 1000, tax: '10%' },
Designer: { salary: 600, tax: '30%' },
Artist: { salary: 1500, tax: '15%' }
};
const team = [
{ name: 'Vasya', specialization: 'Tester' },
{ name: 'Taras', specialization: 'Tester' },
{ name: 'Taras I', specialization: 'Tester' },
{ name: 'Tapas', specialization: 'Humor' },
{ name: 'Misha', specialization: 'Manager' },
{ name: 'Max', specialization: 'Designer' },
{ name: 'Vova', specialization: 'Designer' },
{ name: 'Leo', specialization: 'Artist' }
];
function calculateTeamFinanceReport(salaries, team) {
const proffNames = Object.keys(salaries);
let proffesions = new Map();
let result = {};
let value;
// for (let every of proffNames) {
// proffesions.set(every, 0)
// }
for (let i = 0; i < team.length; i++) {
let specialization = team[i].specialization;
if (proffNames.some(proffesion => { //specialisation has to be salaries `team.specialization == salaries[any]`
if (specialization === proffesion) {
value = value || 0;
proffesions.set(proffesion, value++); // Right count here needed
}
}))
i++;
}
return proffesions
}
结果 = 'Progger' => 1, '测试员' => 4, '经理' => 5, '设计师' => 7, '艺术家' => 8
我需要在这里统计有多少人拥有确切的职业。相反,我得到了总数。 另外,来自
specialisation
的 team
必须位于 salaries
中,否则 = 忽略并继续。
team.specialization == salaries[any]
如何获得每个职业的正确计数? 或者如何为
1
地图对象设置默认值 proffesions
然后 ++ 它?
value
是salaries[proffesion]['salary']
proffesion
对象(原本是dept
)中没有result = {}
,则将其添加到dept
对象并在.set()
地图中proffesions
。.get()
中的 proffesion
映射并将 proffesions
添加到 value
中的
salary
最后dept[proffesion]
.set()
到value
地图。
proffesions
此函数将返回 team 数组中提供的团队的总成员数。
function totalMembers(teams, selectedTeam) {
return teams.filter(team => team === selectedTeam)?.length;
}
将
function calculateTeamFinanceReport(salaries, team) {
const teamHashTable = {};
let totalMember = 1;
for (const specialization in salaries) {
const teamSpecializations = team.map(t => t.specialization);
totalMember += totalMembers(teamSpecializations, specialization);
teamHashTable[specialization] = totalMember;
}
return teamHashTable;
}
作为专业化,然后将其保存为专业化,然后从那里开始下一回合,依此类推。
输出:
totalMember