Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多次打印JavaScript_Javascript_Arrays_Printing - Fatal编程技术网

多次打印JavaScript

多次打印JavaScript,javascript,arrays,printing,Javascript,Arrays,Printing,你好,我正在尝试让用户输入一些分数,最后给出最高分数和最低分数,但出于某种原因,它打印两次,第二次打印无限和想法 var gradeAwarded; var gradeAwarded; var repeate = true; var max; var A; var B; var C; var F; var repeat, studentArr = [], markArr = []; while (repeat !== 'n' && repeat !== 'N'){

你好,我正在尝试让用户输入一些分数,最后给出最高分数和最低分数,但出于某种原因,它打印两次,第二次打印无限和想法

    var gradeAwarded;
var gradeAwarded;
var repeate = true;
var max;
var A;
var B;
var C;
var F;

var repeat, studentArr = [], markArr = [];
while (repeat !== 'n' && repeat !== 'N'){
    studentArr.push(prompt("Enter Student Name: "));
    markArr.push(parseInt (prompt("Enter Student mark: ")));
    repeat = prompt ("Do you want to enter another student: y/n");
}  

Array.prototype.max = function() {
  return Math.max.apply(Math, markArr);
};

Array.prototype.min = function() {
  return Math.min.apply(Math, markArr);
};
var min = markArr.min();
var max = markArr.max();


if (markArr <0 || markArr >100){
    alert("Grate out of bounds");
}else if (markArr >= 83){
    gradeAwarded = "A";
    A = +1;
}else if (markArr >= 70){
    gradeAwarded = "B";
    B = +1;
}else if (markArr >= 50){
    gradeAwarded = "C";
    C = +1; 
}else if (markArr >= 0){
    gradeAwarded = "F";
    F = +1;                                                     
}

    document.write("The Highest mark was : "+max);
    document.write("The Lowest mark was : "+min);
var;
已颁发的var等级;
var repeate=true;
var-max;
var A;
var B;
var C;
var F;
变量重复,studentArr=[],markArr=[];
while(重复!='n'&&repeat!='n'){
push(提示(“输入学生姓名”);
markArr.push(parseInt(提示(“输入学生标记”));
repeat=提示(“您想输入另一个学生:是/否”);
}  
Array.prototype.max=函数(){
返回Math.max.apply(Math,markArr);
};
Array.prototype.min=函数(){
返回Math.min.apply(Math,markArr);
};
var min=markArr.min();
var max=markArr.max();
如果(markArr 100){
警惕(“超出界限”);
}否则如果(markArr>=83){
grade=“A”;
A=+1;
}否则如果(markArr>=70){
grade=“B”;
B=+1;
}否则如果(markArr>=50){
grade=“C”;
C=+1;
}否则如果(markArr>=0){
grade=“F”;
F=+1;
}
文件。写入(“最高分数为:“+max”);
文件。书写(“最低分数为:“+min”);

您使用while循环,因此第二次运行脚本时,它将永远不会运行,因为repeat=='n'。markArry被重置,这就是为什么第二次运行脚本时会得到无穷大

您应该改为使用do-while循环。大概是这样的:

do {
  studentArr.push(prompt("Enter Student Name: "));
  markArr.push(parseInt (prompt("Enter Student mark: ")));
  repeat = prompt ("Do you want to enter another student: y/n");
}while(repeat !=='n' || repeat !=='N');

这应该行得通

必须是| |而不是&&

while (repeat !== 'n' || repeat !== 'N'){
    studentArr.push(prompt("Enter Student Name: "));
    markArr.push(parseInt (prompt("Enter Student mark: ")));
    repeat = prompt ("Do you want to enter another student: y/n");
}

另外,您应该清除或在进程的和处将null设置为重复变量

您是对的,应该是| |但出于某些原因,它会造成一个不确定的循环你好,我想显示我的数据,就像学生分数学生那样Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade学生Mark Grade我该怎么做这是我的代码别介意文档。请在底部书写我作业的另一部分。你的问题不清楚。请打开一个网络问题并解释清楚我不认为你发布了你的整个脚本