JS中用indexof统计不及格人数
时间: 2024-11-15 18:06:45 浏览: 4
在JavaScript中,如果你有一个数组,其中包含表示成绩的数据,比如`let grades = [90, 85, 70, 65, 88]`,你想找出不及格的人数(假设及格线是60分),你可以先定义一个及格的标准,然后遍历数组,使用`indexOf`方法找到低于标准的元素位置,最后统计这些位置的数量。
以下是步骤:
1. 定义一个函数,接收一个成绩数组和一个及格分数(例如60)作为参数。
2. 使用`Array.prototype.findIndex`或简单地循环遍历数组,对每个成绩应用`indexOf`方法。
- 如果成绩小于及格线,返回该成绩的位置,否则返回-1(说明成绩及格)。
3. 统计大于等于及格线后返回值的数量,即不及格人数。
这里是代码示例:
```javascript
function countUngraded(grades, passingGrade) {
let ungradedCount = grades.filter(score => score < passingGrade).length;
return ungradedCount;
}
let grades = [90, 85, 70, 65, 88];
let passingGrade = 60;
let ungradedStudents = countUngraded(grades, passingGrade);
console.log(`不及格人数: ${ungradedStudents}`);
```
相关问题
matlab中用循环统计相同成绩学生人数
在MATLAB中,你可以使用循环来统计相同成绩的学生人数。以下是一个示例代码:
```matlab
% 假设这是学生的成绩向量
grades = [80, 90, 70, 60, 85, 95, 75, 65, 90, 80];
% 初始化变量
uniqueGrades = unique(grades); % 获取成绩的唯一值
numStudents = zeros(size(uniqueGrades)); % 初始化每个成绩的学生人数
% 统计相同成绩的学生人数
for i = 1:length(uniqueGrades)
grade = uniqueGrades(i);
numStudents(i) = sum(grades == grade);
end
% 输出每个成绩的学生人数
for i = 1:length(uniqueGrades)
fprintf('成绩 %d 的学生人数为:%d\n', uniqueGrades(i), numStudents(i));
end
```
输出结果为:
```
成绩 60 的学生人数为:1
成绩 65 的学生人数为:1
成绩 70 的学生人数为:1
成绩 75 的学生人数为:1
成绩 80 的学生人数为:2
成绩 85 的学生人数为:1
成绩 90 的学生人数为:2
成绩 95 的学生人数为:1
```
这段代码会使用循环统计每个成绩的学生人数并输出结果。你可以根据实际需要进行修改。
MySQL中用DQL语句找到没有不及格记录的课程
在MySQL中,你可以使用内连接(INNER JOIN)和条件语句(WHERE)来找出没有不及格记录的课程。假设我们有两个表,一个是`courses`,包含`course_id`和`course_name`字段,另一个是`grades`,包含`student_id`, `course_id`, 和 `grade`字段。以下是查询语句的一个例子:
```sql
SELECT c.course_id, c.course_name
FROM courses c
LEFT JOIN grades g ON c.course_id = g.course_id AND g.grade != '不及格'
WHERE g.course_id IS NULL;
```
这个查询做了以下操作:
1. 使用`LEFT JOIN`将`courses`表和`grades`表连接在一起,如果某个学生对某门课没有成绩(即grade不是'不及格'),那么在`grades`表中对应的行会是NULL。
2. 然后在`WHERE`子句中,检查`g.course_id`是否为NULL,如果是NULL,说明这门课没有任何学生的成绩为不及格。
阅读全文