Javascript:返回与对象相关信息的关联数组
我有一系列学生的名字和他们这学期的成绩。如何让我的javascript代码返回所有根据数组获得“A”分数的学生的名字?我知道这是遥远的,但这是我目前所拥有的Javascript:返回与对象相关信息的关联数组,javascript,arrays,associative-array,Javascript,Arrays,Associative Array,我有一系列学生的名字和他们这学期的成绩。如何让我的javascript代码返回所有根据数组获得“A”分数的学生的名字?我知道这是遥远的,但这是我目前所拥有的 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Javascript</title> <script> var grades= []; grades [0] =
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Javascript</title>
<script>
var grades= [];
grades [0] = "F";
student [0] = "John";
grades [1] = "D";
student [1] = "George";
grades [2] = "C";
student [2] = "Bill";
grades [3] = "B";
student [3] = "Ted";
grades [4] = "A";
student [4] = "Rick";
function getNames ()
{
for (var i =0;i <grades.length;i++)
{
if (grades[1] = "F")
{
document.getElementById("lowgrade").innerHTML= student[1];
}
else if(grades[1] = "D")
{
document.getElementById("midlowgrade").innerHTML= student[1];
}
else if(grades[1] = "C")
{
document.getElementById("midgrade").innerHTML= student[1];
}
else if(grades[1] = "B")
{
document.getElementById("highgrade").innerHTML= student[1];
}
else if(grades[1] = "A")
{
document.getElementById("bestgrade").innerHTML = student[1];
}
}
</script>
</head>
<body>
<h1>My Page</h1>
<form name = "f1">
Enter Grade<input type ="text" id="grades" name="wed" value="" /><br/>
<input type="button" value="Check Student" onclick="getNames()" />
</form>
<div id="text" />
</body>
</html>
Javascript
风险值等级=[];
等级[0]=“F”;
学生[0]=“约翰”;
职系[1]=“D”;
学生[1]=“乔治”;
职系[2]=“C”;
学生[2]=“比尔”;
职系[3]=“B”;
学生[3]=“Ted”;
职系[4]=“A”;
学生[4]=“瑞克”;
函数getNames()
{
对于(var i=0;i函数getStudentsByGrade(等级){
var grade_学生=[];
for(var i=0;i
函数getNames(){
对于(变量i=0;i
你犯了一些错误:
你用1代替了我
您使用了=而不是==
您忘了用}关闭for
你认错人了
(等等)
或者像这样:
['A', 'B', 'C', 'D', 'F'].map(function(letter){
return students.filter(function(student){
return student.grade.toUpperCase() == letter; //if all the letters are uppercased already on the student objects then no need for `toUpperCase()`
});
});
这么多问题,你用的是=而不是==或===…你的分数是[1]而不是[i]。在这里提问之前,您需要对自己的作业进行一些基本调试。您正在为每个if
s赋值。请检查。你们都很了不起,非常感谢。我对这整件事非常陌生,这是一个巨大的帮助!非常感谢!然后我如何让用户输入分数并返回学生?我告诉我a我如何允许输入,然后将此功能分配给一个按钮,该按钮将获取与此成绩相关的人员的姓名?再次感谢您的帮助!我假设您是javascript初学者,请继续,我会帮您解决问题。我正在等待您是否要保存您的电子邮件删除该评论,以便您不会被人垃圾邮件看到这个问题的人。
function getNames(){
for(var i = 0; i < grades.length; i++){
if(grades[i] == "F"){
document.getElementById("lowgrade").innerHTML = student[i];
}
else if(grades[i] == "D"){
document.getElementById("midlowgrade").innerHTML = student[i];
}
else if(grades[i] == "C"){
document.getElementById("midgrade").innerHTML = student[i];
}
else if(grades[i] == "B"){
document.getElementById("highgrade").innerHTML = student[i];
}
else if(grades[i] == "A"){
document.getElementById("bestgrade").innerHTML = student[i];
}
}
}
var students = [
{name: "John", grade: "F"},
{name: "George", grade: "D"}
] //obviously fill the rest
function getByGrade(grade){
return students.filter(function(student){
return student.grade.toUpperCase() == grade.toUpperCase();
});
});
As = getByGrade('F');
Bs = getByGrade('D');
['A', 'B', 'C', 'D', 'F'].map(function(letter){
return students.filter(function(student){
return student.grade.toUpperCase() == letter; //if all the letters are uppercased already on the student objects then no need for `toUpperCase()`
});
});