如何显示数组中与另一个数组(javascript)的值相关的值
我试图让这个名字和与这个名字相关的分数一起出现。所以如果最高分数是98,我想让Joels的名字出现在显示屏上,这里是名字如何显示数组中与另一个数组(javascript)的值相关的值,javascript,Javascript,我试图让这个名字和与这个名字相关的分数一起出现。所以如果最高分数是98,我想让Joels的名字出现在显示屏上,这里是名字 var names = ["Ben", "Joel", "Judy", "Anne"]; var scores = [88, 98, 77, 88]; var average; var total = 0; var highestScore = 0; var $ = function (id) { return document.getElementById(id); };
var names = ["Ben", "Joel", "Judy", "Anne"];
var scores = [88, 98, 77, 88];
var average;
var total = 0;
var highestScore = 0;
var $ = function (id) { return document.getElementById(id); };
var displayResults = function () {
for (var i = 0; i < scores.length; i++) {
total = total + scores[i]; //both are numbers so adds
if (scores[i] > highestScore) {
highestScore = scores[i];
}
}
//then calculate the average and display
average = parseInt(total/scores.length);
document.getElementById("results_header").innerHTML = ("Results");
document.getElementById("results").innerHTML = ("\nAverage score is " + average + "\nHigh score = Name here with a score of " + highestScore);
};
window.onload = function () {
//$("add").onclick = addScore;
$("display_results").onclick = displayResults;
//$("display_scores").onclick = displayScores;
};
var name=[“本”、“乔”、“朱迪”、“安妮”];
var得分=[88,98,77,88];
var平均值;
var合计=0;
var最高分=0;
var$=函数(id){return document.getElementById(id);};
var displayResults=函数(){
对于(变量i=0;i最高分数){
最高分数=分数[i];
}
}
//然后计算平均值并显示
平均值=parseInt(总分/总分.长度);
document.getElementById(“results_header”).innerHTML=(“results”);
document.getElementById(“results”).innerHTML=(“\nAverage score为“+average+”\nHigh score=此处的名称,分数为“+highestScore”);
};
window.onload=函数(){
//$(“添加”).onclick=addScore;
$(“显示结果”).onclick=displayResults;
//$(“显示分数”)。onclick=显示分数;
};
您有i值(分数数组中分数的位置)。该i值与persons数组中的person对应。使用此i值选择人员
为了简化操作,可以使用对象将名称(字符串)与分数(int)关联起来,如:
然后需要修改for循环。这些都是在脚本中执行的非常基本的操作。我希望这些信息对您有所帮助 我已经在下面详细解释了这个答案中使用的技巧。所有代码段都可以在浏览器中运行。单击下面的运行代码段以查看结果
//输入数据
变量名称=[“本”、“乔”、“朱迪”、“安妮”]
var得分=[88,98,77,88]
//这是对数组中的数字求和的常用方法
var total=分数.reduce(函数(x,y){return x+y},0)
//平均值=分数总和/分数数
var average=总分/总分.length
//使用Math.max查找最高分数
var highScore=Math.max.apply(空,分数)
//获取与最高分数匹配的名称
var highScoreName=名称[分数.indexOf(highScore)]
//将信息输出到控制台
//替代方法:使用innerHTML或其他方法打印到DOM
console.log(“总计:%d”,总计)
console.log(“平均值:%d”,平均值)
console.log(“最高分数:%s有%d”,highScoreName,highScore)
由于名称和分数数组具有相同的.length
,您可以使用相同的i
变量来选择名称中的项目
数组中的项目,就像选择分数中的项目一样
声明name
变量
var name = "";
if (scores[i] > highestScore) {
highestScore = scores[i];
name = names[i];
}
document.getElementById("results")
.innerHTML = "\nAverage score is "
+ average
+ "\nHigh score = "
+ name
+ " here with a score of "
+ highestScore;
设置name
变量
var name = "";
if (scores[i] > highestScore) {
highestScore = scores[i];
name = names[i];
}
document.getElementById("results")
.innerHTML = "\nAverage score is "
+ average
+ "\nHigh score = "
+ name
+ " here with a score of "
+ highestScore;
显示name
变量
var name = "";
if (scores[i] > highestScore) {
highestScore = scores[i];
name = names[i];
}
document.getElementById("results")
.innerHTML = "\nAverage score is "
+ average
+ "\nHigh score = "
+ name
+ " here with a score of "
+ highestScore;
您可以存储索引而不是最高分数,并使用它来获取名称。我已经更改了您的代码以支持它,并在任何地方添加了注释“更改”
var names = ["Ben", "Joel", "Judy", "Anne"];
var scores = [88, 98, 77, 88];
var average;
var total = 0;
var highScoreIndex = 0;// Changes
var $ = function (id) { return document.getElementById(id); };
var displayResults = function () {
for (var i = 0; i < scores.length; i++) {
total = total + scores[i]; //both are numbers so adds
if (scores[i] > highestScore) {
highestScoreIndex = i; // Changes
}
}
//then calculate the average and display
average = parseInt(total/scores.length);
document.getElementById("results_header").innerHTML =
("Results");
document.getElementById("results").innerHTML = ("\nAverage score
is " + average + "\nHigh score = " + names[highestScoreIndex] + " with a score of " +
scores[highestScoreIndex]); //Changes
};
window.onload = function () {
//$("add").onclick = addScore;
$("display_results").onclick = displayResults;
//$("display_scores").onclick = displayScores;
};
var name=[“本”、“乔”、“朱迪”、“安妮”];
var得分=[88,98,77,88];
var平均值;
var合计=0;
var highScoreIndex=0;//变化
var$=函数(id){return document.getElementById(id);};
var displayResults=函数(){
对于(变量i=0;i最高分数){
highestScoreIndex=i;//更改
}
}
//然后计算平均值并显示
平均值=parseInt(总分/总分.长度);
document.getElementById(“结果\标题”).innerHTML=
(“结果”);
document.getElementById(“结果”).innerHTML=(“\nAverage分数
是“+average+”\n高分=“+names[highestScoreIndex]”,分数为“+
分数[最高分数指数];//变化
};
window.onload=函数(){
//$(“添加”).onclick=addScore;
$(“显示结果”).onclick=displayResults;
//$(“显示分数”)。onclick=显示分数;
};
试试看:
显示
变量名称=[“本”、“乔”、“朱迪”、“安妮”];
var得分=[88,98,77,88];
var平均值;
var合计=0;
var最高分=0;
var hightName=“”;
函数displayResults(){
对于(变量i=0;i最高分数){
最高分数=分数[i];
hightName=名称[i];
}
}
//然后计算平均值并显示
平均值=parseInt(总分/总分.长度);
document.getElementById(“结果”).innerHTML=(“\nAverage分数为”+average+”\n High score=“+hightName+”,分数为“+highestScore”);
};
//$(“添加”).onclick=addScore;
$(文档).ready(函数(){
$(“#显示#结果”)。单击(函数(){
显示结果();
})
})
转换成数字
scoreInput=编号(scoreInput)
及
//然后计算平均分和最高分
重置总数
总数=0
for(变量i=0;i最高分数){