Javascript JS-显示与该分数相关的最高分数和名称
JS代码:Javascript JS-显示与该分数相关的最高分数和名称,javascript,arrays,Javascript,Arrays,JS代码: var names = ["Ben", "Joel", "Judy", "Anne"]; var scores = [88, 98, 77, 88]; var textDisplay; var $ = function (id) { return document.getElementById(id); }; var listArray = function () { var scoresString = ""; for (var i = 0; i &l
var names = ["Ben", "Joel", "Judy", "Anne"];
var scores = [88, 98, 77, 88];
var textDisplay;
var $ = function (id) {
return document.getElementById(id);
};
var listArray = function () {
var scoresString = "";
for (var i = 0; i < names.length; i++) {
scoresString += names[i] + ", " + scores[i] + "\n";
} // lists all names and scores in their respective array orders
$("results").value = scoresString;
};
var showBest = function () {
var bestString = "";
var highScore = Math.max.apply(Math, scores);
for (var i in scores) {
if (scores[i] > highScore) highScore = scores[i];
bestString += "High Score Student = " + names[i] + "\n" + "High Score = " + highScore;
}
$("results").value = bestString;
};
$("add").onclick = addElement;
$("name").focus();
$("list_array").onclick = listArray;
$("show_best").onclick = showBest;
var name=[“本”、“乔”、“朱迪”、“安妮”];
var得分=[88,98,77,88];
变量文本显示;
var$=函数(id){
返回文档.getElementById(id);
};
var listary=函数(){
var scoresString=“”;
对于(var i=0;i高分)高分=分数[i];
bestString+=“High Score Student=“+names[i]+”\n“+”High Score=“+highScore;
}
$(“结果”)。值=最佳字符串;
};
$(“添加”).onclick=addElement;
$(“名称”).focus();
$(“列表数组”).onclick=listArray;
$(“show_best”)。onclick=showBest;
“显示最佳分数”按钮应显示得分最高的学生姓名及其分数。现在,它显示最高分数,但它也将该分数与数组中的所有名称关联,因此所有名称都显示相同的高分。我只想要与最高分数关联的名称(1个名称,1个分数)
任何意见都将不胜感激
编辑:我的问题是var showBest-如何只显示一个名字和一个分数?现在,它显示了所有的名字和一个高分。您走对了方向:
var highScore = Math.max.apply(Math, scores); // gives the highest score
var scoreIndex = scores.indexOf(highScore); // gives the location of the highest score
var bestStudent = names[scoreIndex]; // gets the name at the same location
var bestString += "High Score Student = " + bestStudent + "\n" + "High Score = " + highScore;
此代码假定这两个数组的顺序正确 你没有问清楚一个问题。你的代码有问题吗?你希望人们通读你的代码,了解你想要做什么吗?抱歉@NateC-K这是我的原始声明。现在添加了一个问题:)为什么它们是独立的数组?为什么不创建一个将分数与用户关联的集合?否则怎么知道哪个分数属于哪个用户?@ChaseFlorell数组在我的教科书的原始代码中是分开的。这是一个介绍JS的课程。然后你的代码需要为你合并它<代码>变量用户=[{“名称”:“乔”,“分数”:89},{“名称”:“约翰”,“分数”:128}]代码>好的,所以我改变了它的那部分,但是现在按钮不起作用了。我不确定我是否做错了什么:[更新]()如果使用浏览器的开发工具(在Chrome或IE中,按F12),单击按钮时会看到错误。看起来您用大写字母
I
拼写了indexOf
,对不起,我在代码示例中也这样做了。更新啊,我觉得这不是骆驼壳很奇怪哈哈。非常感谢!