[英]how can i add a value from an array to a value from an another one in javascript?
因此,我有两个数组:grade []和grade2 [],它们包含我从windows.prompt提供的元素。 我想将年级的值与年级2的值相加,以便可以计算“媒体”。 但是我编写的代码只是合并了这两个值,实际上并没有将它们相加。 我是一个初学者,希望您能帮助我。 谢谢!
function display_student()
{
var n=window.prompt("Number of students: "+"");
var name= new Array(n);
var grade=new Array(n);
var grade2=new Array(n);
var y=0;
for (y=0; y<n; y++)
{
name[y]=window.prompt("Student name:","");
grade[y]=window.prompt("Grade 1: ","5");
grade2[y]=window.prompt("Grade 2: ","5")
document.write("</br>"+"Student name: "+name[y]+"</br>"+"Grade 1: "+grade[y]+" </br>"+"Grade 2: "+grade2[y]+"</br>");
var media=(grade[y]+grade2[y])/2;
document.write("Media: "+media+"</br>");
if(media<5)
document.write("Failed");
else
document.write("Promoted");
}
}
添加之前,请使用parseInt
函数。
var media=(parseInt(grade[y]) + parseInt(grade2[y]))/2;
因为它们是字符串,没有数字。
看看parseInt(string, radix)
数组中的值是String
类型( 由window.prompt函数返回 ),您需要将它们转换为数字以将它们加在一起:
function display_student() {
var n = window.prompt("Number of students: " + "");
var name = new Array(n);
var grade = new Array(n);
var grade2 = new Array(n);
var y = 0;
for (y = 0; y < n; y++) {
name[y] = window.prompt("Student name:", "");
grade[y] = window.prompt("Grade 1: ", "5");
grade2[y] = window.prompt("Grade 2: ", "5"); // added semi-colon here too
document.write("</br>" + "Student name: " + name[y] + "</br>" + "Grade 1: " + grade[y] + " </br>" + "Grade 2: " + grade2[y] + "</br>");
var media = (parseFloat(grade[y]) + parseFloat(grade2[y])) / 2;
document.write("Media: " + media + "</br>");
if (media < 5) {
document.write("Failed");
} else {
document.write("Promoted");
}
}
}
工作示例: http : //jsfiddle.net/z5cUw/
采用:
var media=(parseInt(grade[y], 10)+parseInt(grade2[y], 10))/2;
假设您的成绩是整数。 否则,请使用parseFloat
(在这种情况下,您将不需要第二个参数)。
使用parseFloat:
var media=(parseFloat(grade[y])+parseFloat(grade2[y]))/2;
这是一个间接答案,因为这被标记为作业。
由于window.prompt默认返回一个字符串,因此您需要将此字符串转换为数字。 有几种方法可以做到这一点。
parseInt()
。 返回一个整数值。 parseFloat()
。 window.prompt("Grade 1: ","5")/1;
或在媒体计算期间: var media = (grade[y]/1 + grade2[y]/1) / 2;
Number(window.prompt("Grade 1: ", "5"));
由您决定哪种方法适合您的需求。 如果输入的值不是数字怎么办? 研究每种方法,以确定最适合您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.