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

Posted

技术标签:

【中文标题】JavaScript 无法获取最大值或最小值或数组【英文标题】:JavaScript cant get max or min value or an array 【发布时间】:2014-05-10 06:04:02 【问题描述】:

你好,我有一个数组,但我似乎无法获得它的最小值和最大值,我的代码出了什么问题

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

【问题讨论】:

你的函数返回的是数组,而不是数字 你在哪里定义了函数numberReferenceError: number is not definedLearn how todebug javascript. 非常仔细地看一下你在这个函数中比较的感觉:function max (markArr) 这是一个更好的方法。 ***.com/questions/1669190/… 我认为您使用的这个数字功能不存在。如果您尝试将其转换为数字,请使用 parseFloat() 【参考方案1】:

您可以从 Javascript 扩展 Array 类型,例如:

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;

并使用这样的东西:

var minValue = yourArray.min();
var maxValue = yourArray.max();

jsbin:http://jsbin.com/yoyecono/1/edit

【讨论】:

以上是关于JavaScript 无法获取最大值或最小值或数组的主要内容,如果未能解决你的问题,请参考以下文章

当 SQL 出现最小值或最大值时,如何获取时间戳?

从数据框中提取具有最小值或最大值的行

设置最小值或最大值后如何刷新 jQuery UI 滑块?

Python中的最小值或最大值赋值运算符[关闭]

在 Python 中查找最小值或最大值的值的索引

javascript如何获取数组中的最大值和最小值