js把所有学生的考试成绩保存到数组中,求全班平均分并通过查找数组中最大值和最小值找到分数最高和分数最低的成绩
时间: 2024-09-12 11:17:12 浏览: 99
30名学生英语成绩的平均分,最高分,最低分(数组)
5星 · 资源好评率100%
在JavaScript中,你可以这样做:
首先,假设你有一个学生对象数组,每个对象都有`name`和`score`属性,表示学生姓名和成绩。例如:
```javascript
let students = [
{ name: "小明", score: 90 },
{ name: "小红", score: 85 },
{ name: "小刚", score: 95 },
// ... 其他学生对象
];
```
要计算全班平均分,你需要遍历数组,累加所有成绩然后除以学生总数。可以这样实现:
```javascript
function calculateAverage(scores) {
let sum = scores.reduce((total, score) => total + score.score, 0);
return sum / scores.length;
}
let averageScore = calculateAverage(students.map(student => student.score));
console.log("全班平均分:", averageScore);
```
接着,为了找出最高分和最低分,你可以创建两个变量分别存储当前已知的最大值和最小值,然后遍历数组更新这两个值:
```javascript
let maxScore = Math.min(...students.map(student => student.score)); // 使用Spread运算符获取所有成绩并找最大
let minScore = Math.max(...students.map(student => student.score)); // 找最小
let topStudent = students.find(student => student.score === maxScore);
let bottomStudent = students.find(student => student.score === minScore);
console.log("最高分:", topStudent.name, ", 分数:", topStudent.score);
console.log("最低分:", bottomStudent.name, ", 分数:", bottomStudent.score);
```
这里我们使用了`Math.min()`和`Math.max()`函数,并配合`Array.prototype.map()`和`find()`方法来找出最大值和最小值。
阅读全文