Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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_Max_Minimum - Fatal编程技术网

JavaScript无法获取最大或最小值或数组

JavaScript无法获取最大或最小值或数组,javascript,arrays,max,minimum,Javascript,Arrays,Max,Minimum,你好,我有一个数组,我似乎不能得到它的最小值和最大值idk什么是错误的这里是我的代码 var repeat, studentArr = [], markArr = []; while (repeat !== 'n' && repeat !== 'N'){ studentArr.push(prompt("Enter Student Name: ")); markArr.push(parseInt (prompt("Enter Student mark: ")

你好,我有一个数组,我似乎不能得到它的最小值和最大值idk什么是错误的这里是我的代码

    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");
}  

function min (markArr){
    var min = Number.Max_Value;
    for(var i = 0; i < markArr.length; i++){
       if(number(markArr[i]) < min)
           min = number(markArr[i]); 
    }
    return markArr;
}
var smallest = min(markArr);

function max (markArr){
    var max = Number.Max_Value;
    for(var i = 0; i > markArr.length; i++){
       if(number(markArr[i]) < max)
           max = number(markArr[i]); 
    }
    return markArr;
}
var largest = max(markArr);

    document.write(largest);
var repeat,studentar=[],markArr=[];
while(重复!='n'&&repeat!='n'){
push(提示(“输入学生姓名”);
markArr.push(parseInt(提示(“输入学生标记”));
repeat=提示(“您想输入另一个学生:是/否”);
}  
最小功能(markArr){
var min=Number.Max_值;
对于(变量i=0;imarkArr.length;i++){
if(数量(markArr[i])
您可以从Javascript扩展
数组
类型,例如:

Array.prototype.min = function(comparer) {

    if (this.length === 0) return null;
    if (this.length === 1) return this[0];

    comparer = (comparer || Math.min);

    var result = this[0];
    for (var i = 1; i < this.length; i++)
        result = comparer(this[i], v);  

    return result;
}

Array.prototype.max = function(comparer) {

    if (this.length === 0) return null;
    if (this.length === 1) return this[0];

    comparer = (comparer || Math.max);

    var result = this[0];
    for (var i = 1; i < this.length; i++)
        result = comparer(this[i], v);    

    return result;
}

查看
jsbin

您的函数返回的是数组,而不是数字。您在哪里定义了函数
number
<代码>引用错误:未定义数字。请仔细查看此函数中的比较含义:
函数max(markArr)
这是一种更好的方法。我认为您使用的这个数字函数不存在。如果要将其转换为数字,请使用parseFloat()
var minValue = yourArray.min();
var maxValue = yourArray.max();