编写一个函数min(),该函数接受一个数字数组并使用Javascript返回最小的数字

时间:2019-10-07 02:44:02

标签: javascript

min

 <p id="q3">
    junj
    </p>
 <script>
     var minnum

     function min(num1,num2,num3)
      { if (num1<num2)
          {if (num1<num3)
             {minnum=num1}
           else {minnum=num3}
          }
        else if (num1>num2)
          { if (num2>num3)
               {minnum=num3}
           else {minnum=num2}
          }
        else if (num1=num2)
            { if(num1<num3)
              {minnum=num1}
             else {minnum=num3}
            }

       return minnum;



      }
    document.getElementById("q3").innerHTML = min(1,1,0) 
   ;
    </script>

这是我问题的更新版本。如果足以回答问题,请发表评论。再次感谢。不能再欣赏更多了。

2 个答案:

答案 0 :(得分:0)

一个等于(=)用于分配,两个等于(==)用于比较。您的分配中有两个等于minnum == num1的等号,因此您的函数返回undefined。纠正此问题后,将输出最小的数字,如预期的那样:

var minnum;

function min(num1, num2, num3) {
  if (num1 < num2) {
    if (num1 < num3) {
      minnum = num1;
    } else {
      minnum = num3;
    }
  } else if (num1 > num2) {
    if (num2 > num3) {
      minnum = num3;
    } else {
      minnum = num2;
    }
  }
  return minnum;
}

console.log(min(1, 2, 3));

但是,值得一提的是最大是3,与最小最小值不同相同。这就是 maximum 的值,要获得此值,只需反转所有比较符号即可:

var minnum;

function min(num1, num2, num3) {
  if (num1 > num2) {
    if (num1 > num3) {
      minnum = num1;
    } else {
      minnum = num3;
    }
  } else if (num1 < num2) {
    if (num2 < num3) {
      minnum = num3;
    } else {
      minnum = num2;
    }
  }
  return minnum;
}

console.log(min(1, 2, 3));

请注意,将函数名称更改为类似max()的名称也可以避免混淆。

答案 1 :(得分:0)

如果要从没有固定长度的数组中获取最小数目 试试这个

     function min(numarray)
      { 
      numarray.sort(function(a, b){return a-b}); //sort the array in 
      return numarray[0]; //the first number in your array is minimum number
      }
      var numberArray=[3,1,2,7];
      console.log(min(numberArray))
    //document.getElementById("q3").innerHTML = min(numberArray);

Jsfiddle链接 https://jsfiddle.net/pg4abkx7/