Javascript 使用if语句确定相关团队是否已超过其5份报告的目标

Javascript 使用if语句确定相关团队是否已超过其5份报告的目标,javascript,Javascript,我们将完成一个函数,该函数接受两个参数,一个包含各个团队报告总数的对象和一个团队的字符串名称,并确定给定团队是否已超过其5个报告的目标,如果已超过,则返回一个特定字符串。函数应使用if语句确定相关团队是否已超过其5个报告的目标,如果已超过,则应返回字符串{teamName}已超过目标,并带有{number\u of_reports\u for_team}reports,其中: {teamName}具有调用函数的第二个参数的值 {number\u of_reports\u for_team}是{

我们将完成一个函数,该函数接受两个参数,一个包含各个团队报告总数的对象和一个团队的字符串名称,并确定给定团队是否已超过其5个报告的目标,如果已超过,则返回一个特定字符串。函数应使用
if
语句确定相关团队是否已超过其5个报告的目标,如果已超过,则应返回字符串
{teamName}已超过目标,并带有{number\u of_reports\u for_team}reports
,其中:

  • {teamName}
    具有调用函数的第二个参数的值
  • {number\u of_reports\u for_team}
    {teamName}
    的输入对象参数中的报告数
下面是代码运行的示例,假设您将完成所描述的功能:
generateReportSummary

为什么该值仅选择第一个对象?
我的代码:

函数generateReportSummary(reportTotals,teamName){
对于(输入报告总计){
如果(报告总计[键]>5){
使用“+reportTotals[key]+”reports”返回teamName+”超过目标;
}否则{
返回未定义;
}
}
}
var result1=generateReportSummary({
a_团队:12,
b_团队:7,
c_团队:0
}“b_团队”);
console.log('should log“b_team has befored goal with 7 reports:”,result1);
var result2=generateReportSummary({
蓝色:18,
红色:8,
绿色:12
}“蓝色”);
log('should log“蓝色已超过目标,有18个报告”:',result2);
var result3=generateReportSummary({
伽马:1,
ε:3,
阿尔法:4,
B:17
}“α”);

log('应该未定义日志,因为函数未返回任何内容:',result3)您不应检查
报告总计
中的每个
,而应仅检查指定的
团队名称
,例如:

函数generateReportSummary(reportTotals,teamName){
如果(reportTotals[teamName]>5){
返回`${teamName}超过目标,有${reportTotals[teamName]}个报告`;
}否则{
返回未定义;
}
}
var result1=generateReportSummary({
a_团队:12,
b_团队:7,
c_团队:0
}“b_团队”);
console.log('should log“b_team has befored goal with 7 reports:”,result1);
var result2=generateReportSummary({
蓝色:18,
红色:8,
绿色:12
}“蓝色”);
log('should log“蓝色已超过目标,有18个报告”:',result2);
var result3=generateReportSummary({
伽马:1,
ε:3,
阿尔法:4,
B:17
}“α”);

log('应该未定义日志,因为函数未返回任何内容:',result3)它返回第一个值的原因是您从未根据传入的团队名称限制搜索

for (key in reportTotals) {
    if (reportTotals[key] > 5) { // This will look at the key, regardless of whether that key matches the team name or not.
      return teamName + ' surpassed goal with ' + reportTotals[key] + ' reports'; // return will break the for ... in loop, causing the function to return and exit
    } else {
      return undefined;
    }
  }
例如,在
result1
中,您的
for…in
获取第一个键:
a_team
并检查其值:
12
。它确定12大于5,然后返回引用
teamName
的字符串

您需要更改代码,使其引用用于值检查的团队名称

您可以进行一些优化和错误检查,但为了保持简单,让我们从当前问题开始

由于我们从问题开始就知道
teamName
,因此我们只需检查该团队的
report
对象及其相应的分数

if ( reportTotals[teamName] && reportTotals[teamName] > 5) {
  return `${teamName} surpassed goal with ${reportTotals[teamName]} reports`;
} else {
  return undefined;
}

我们之所以能够这样做,是因为我们在reportTotals中寻找一个特定的值,如果我们知道键的名称,我们不需要遍历每个键:值对来找到我们的键。相反,我们检查键是否未定义,然后检查附加到该键的值是否大于5。

请阅读我的要求并查看我所做的工作。这不是我的作业,是我在网上找到的练习。