javascript - 如何找到一个数组的多个索引值以调用另一个数组,javascript
问题描述
这是我到目前为止所得到的。我有两个数组,我找到了数值数组'grade'(grades >= 60)的条件值,我现在正试图找到与那些 >= 60 的数组值对应的索引值,这样然后,我可以在另一个数组“名称”上调用这些索引,以返回与及格分数相对应的学生“名称”。
非常感谢任何指针或提示,谢谢。
let total = 0;
let highest = 0;
let stuAvg= 0;
let arr = [];
var names= [];
var grade= [];
var pos1 = [];
for (var i = 0; i < 10; i++) {
names.push(prompt('Enter The Ten Student Names | Student: ' + (i + 1)));
document.getElementById("stuNames").innerHTML=("Student's Names:" +names.join(','));
}
for (var i = 0; i < 10; i++) {
grade.push(Number(prompt('Enter The Ten Student Grades | Grade: ' + (i + 1))));
total +=grade[i];
stuAvg = total / grade.length;
highest = Math.max(...grade);
document.getElementById("stuGrades").innerHTML=("Student's Grades:" +grade.join(','));
}
function passing(grade) {
return grade >= 60;
}
function results() {
pos1 = grade.indexOf(highest);
arr = grade.filter(passing);
document.getElementById("result").innerHTML=("Highest Grade:"+highest+"The Highest Grade
Belongs to:"+names[pos1]+" The Average Grade is "+stuAvg+"");
document.getElementById("passing").innerHTML=("The Students who are passing are
"+arr+","+names+"");
}
解决方案
您可以在执行过滤器时将这些索引存储在另一个数组中。
function results() {
pos1 = grade.indexOf(highest);
var passingStudents = []; // to store passing indexes
arr = grade.filter((grade, index) => {
var pass = grade >= 60;
if(pass){
passingStudents.push(index);
}
return pass;
});
passingStudents = passingStudents.map(index => names[index]); // change indexes for names
document.getElementById("result")
.innerHTML=("Highest Grade:"+highest
+"\n The Highest Grade Belongs to:"+names[pos1]
+"\nThe Average Grade is "+stuAvg+"");
document.getElementById("passing")
.innerHTML=("The Students who are passing are: " + passingStudents.join(", "));
}
现在您在另一个数组中拥有了所需的索引。
推荐阅读
- java - 我将如何编写自定义类的数组列表的线性搜索?
- python - 将参数放在单独的行上 PyCharm
- java - 需要从 Selenium Java 中的浏览器获取 PDF 标题
- python - Python Tkinter 破坏顶层窗口缺少参数
- java - Multitheaded jersey 客户端进行 HTTPS 调用
- amazon-web-services - 如何在 NodeJS 中从 AWS Lambda 调用 ImageMagick?
- ios - ATTrackingManager.AuthorizationStatus 总是返回 notDetermined
- python - spyder 中的 Matplotlib,仅针对单个文件的开/关交互式绘图
- python - tkinter 生成带有名称的按钮,并在单击时将名称作为参数传递
- rdlc - 我们如何扩展visual studio2019报表rdlc模板中存在的报表项