我无法解决这个问题,我认为这可能是一个简单的解决方案,但我的措辞不正确。
我知道如何找到3个输入数字的最大值。
largest = Math.max(number1, number2, number3); // this code finds largest number
我知道如何找到最小的数字
smallest = Math.min(number1, number2, number3); //smallest number
我无法弄清楚如何找到中间数字
因此,当用户输入3个数字时,例如9,6,12(按此顺序)
number1= 9 //first number user entered
number2 = 6 // second number user entered
number3 = 12 // third number user entered
现在我有代码找到最小和最大,6和12.但我不知道如何调用中间。我可以调用Math.middle函数吗?我不是在寻找数组中的中间元素,我只想要输入的3个数字的中间值。
希望这是有道理的。
答案 0 :(得分:1)
没有Math.middle功能,我不确定你想要在这里实现什么,但如果你只是想找到3位数的中间数字,那么这可以是你的答案: -
function middleNumber(a,b,c){
var arr=[];
//Fill a array with the values
arr[0]=a;
arr[1]=b;
arr[2]=c;
//Sort the array and return the middle element
arr.sort();
return arr[1];
}
alert(middleNumber(1,2,3));
以下是相同的工作示例: - http://jsfiddle.net/k0ruk1sq/
答案 1 :(得分:1)
尝试这种方法:
middle = number1+number2+number3 - Math.min(number1, number2, number3) - Math.max(number1, number2, number3);
答案 2 :(得分:0)
我会使用偏差,作为输入我得到一些input_array(用户输入的值......)并获得该数组的长度并将其分成两半。此函数将返回中间元素的索引。最后只返回该索引的值。
但如果数组的长度是奇数,你必须明白有问题:p。