Javascript 返回数组中不使用数学运算的最小数

Javascript 返回数组中不使用数学运算的最小数,javascript,Javascript,我需要创建一个返回数组中最低数字的函数,我似乎无法理解这一点,这里的其他问题也没有任何帮助,因为他们用我从未见过的代码给出了答案,所以我有这个,但它总是返回“0”而不是80,所以你能帮我编写代码吗 var值=[100,90100,80]; 功能最低等级(a){ 对于(变量i=0;i

我需要创建一个返回数组中最低数字的函数,我似乎无法理解这一点,这里的其他问题也没有任何帮助,因为他们用我从未见过的代码给出了答案,所以我有这个,但它总是返回“0”而不是80,所以你能帮我编写代码吗

var值=[100,90100,80];
功能最低等级(a){
对于(变量i=0;i文件。写入(最低级(值))正如前面提到的,有一些内置的方法来处理这个问题。然而,我假设这是某种家庭作业问题。
var数组=[90,1,77,-5101];
最低功能(arr){
//假设第一个是最低的
var低=arr[0];
对于(变量i=0;iarr[i]){
低=arr[i];
}
}
//将始终包含最低的数字
低回报;
}
写入(最低(数组))问题就在这里

function lowestGrade(a) {
  for (var i = 0; i < a.length; i++) {
    if (a[i] < a.length); // < -- this is an if statement which has no effect
    value = i;  // <-- this just set the value to the loop index i 
    {
      return (value);   // << -- this returns at the first loop where i is zeo 
    }
  }
}
功能最低等级(a){
对于(变量i=0;i
var value = [100, 90, 100, 80];
lowestGrade(value);

function lowestGrade (value) 
{
    var lowest;
    for(var i = 0, cnt = value.length; i<cnt; i++){
        if(typeof lowest === 'undefined') {
           lowest = value[i]
        } else {
            if(value[i] < lowest){
                lowest = value[i];
            }
        }
    }

    console.log(lowest);
}
var值=[100,90100,80];
最低等级(价值);
函数最低级(值)
{
var最低;

对于(var i=0,cnt=value.length;i,因为您特别要求不要在Javascript中使用Math对象,所以我在Stackoverflow中找到了一个答案,它以您想要的方式解决:

function mymax(a)
{
    var m = -Infinity, i = 0, n = a.length;

    for (; i != n; ++i) {
        if (a[i] > m) {
            m = a[i];
        }
    }

    return m;
}
我不拥有这个答案,所以请检查此链接以查看原始作者的答案:

var value=[100,90100,80];
功能最低等级(a){
var lowestNum=a[0];//将其设置为第一个元素
对于(vari=1;i
如果您没有学习如何排序,可以使用本机的
reduce
功能

var value = [100, 90, 100, 80];
var min = value.reduce(function (pv,cv) {
    return pv > cv?cv:pv
});
document.write(min);

如果(…);
结尾的分号在做什么?
为什么你从未见过的代码是坏的?有一种内置的方法来做这个…value.reduce(函数(a,b){返回avalue.slice().sort(函数(a,b){返回a-b})[0]
可以,但您可能需要防止出现null等非数值。Zack的注释效率更高(但需要ES5)。请使用
document.write()
而不是
console.log()
。否则它只会将结果输出到开发人员控制台。@Tarik-已修复。听起来也像是功能请求。我本来希望他们为了代码片段的目的重写和截取控制台日志语句。哦……我同意。这也是我的第一印象和期望,但结果并不像我预期的那样。你是假设一个连续的数组,如果
arr[i]
不存在怎么办?@RobG-当然,有各种各样的事情可能是错误的。如果arr[i]是一个对象或字符串怎么办……如果
arr
没有定义,或者根本没有数组怎么办?我假设这是一个家庭作业问题,不会在生产环境中运行:)
var value = [100, 90, 100, 80];
var min = value.reduce(function (pv,cv) {
    return pv > cv?cv:pv
});
document.write(min);