弹出框接收N位评委的打分,去掉一个最高分和一个最低分,求最后的平均分。用js
时间: 2024-11-23 21:50:32 浏览: 28
在JavaScript中,你可以创建一个函数来处理这个场景。首先,你需要获取用户输入的所有评委分数,然后按照要求去除最高分和最低分,最后计算并返回平均分。以下是一个简单的示例:
```javascript
function calculateAverageScore(scores) {
// 检查输入是否为空或不是数组
if (!Array.isArray(scores) || scores.length < 2) {
return "请输入至少两个评分";
}
// 对数组进行排序
scores.sort((a, b) => a - b);
// 去掉最高分和最低分
scores = scores.slice(1, -1); // 从第二个元素开始到倒数第二个元素
// 计算平均分
let sum = scores.reduce((acc, curr) => acc + curr, 0);
let average = sum / (scores.length - 2);
return average;
}
// 示例用法
let judgeScores = [90, 85, 95, 80, 87]; // 假设这是五个评委的打分
let result = calculateAverageScore(judgeScores);
console.log(`最终平均分为: ${result}`);
```
在这个例子中,`calculateAverageScore`函数接受一个评委打分数组作为参数,先检查数据有效性,然后对数组进行降序排列,接着使用`slice`方法去除最高分和最低分,再通过`reduce`方法计算总和,最后除以剩余分数的数量得到平均分。
阅读全文