<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>
这是我问题的更新版本。如果足以回答问题,请发表评论。再次感谢。不能再欣赏更多了。
答案 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/