gpt4 book ai didi

JavaScript:获取未定义的值

转载 作者:行者123 更新时间:2023-12-01 02:51:02 25 4
gpt4 key购买 nike

我编写了一个函数,它接受一个对象数组(students3)并打印学生的姓名及其平均测试成绩。

var students3 = [
{
name : "Anthony",
id : 0,
grades : [{ id : 0, score : 84},{ id : 1, score : 20},{ id : 2, score : 80}]
},
{
name : "Winnie",
id : 1,
grades : [{ id : 0, score : 62},{ id : 1, score : 56},{ id : 2, score : 100}]
},
{
name : "Pawandeep",
id : 2,
grades : [{ id : 0, score : 79},{ id : 1, score : 92},{ id : 2, score : 49}]
}
];

我的解决方案:

function getAverageScore(student)
{
var sum = 0;
var grades = student.grades;
for(var i = 0; i < grades.length; i++)
{
var grade = grades[i];
sum += grade.score;
}
var avg = sum/grades.length;
return avg;
}


function printAverageGrade(students)
{
for(var i = 0; i < students.length; i++)
{
var student = students[i];
var averageScore = getAverageScore(student);

console.log(student.name, averageScore);
}
}

运行console.log(printAverageGrade(students3));后的预期结果是:

Anthony 61.333333333333336

Winnie 72.66666666666666

Pawandeep 73.33333333333333

我的结果:

Anthony 61.333333333333336

Winnie 72.66666666666666

Pawandeep 73.33333333333333

undefined

任何人都可以告诉我为什么我的结果中出现未定义的值?谢谢。

最佳答案

printAverageGrade 函数本身将消息记录到控制台。它没有 return 语句,因此返回 undefined

如果您将 printAverageGrade(students3) 记录到控制台,您将记录 undefined

解决方案:不记录printAverageGrade(students3):

console.log(printAverageGrade(students3))printAverageGrade(students3)

关于JavaScript:获取未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46967178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com