使用函数从数组中查找最小值和最大值

Finding minimum and maximum from an array using functions

本文关键字:查找 最小值 最大值 数组 函数      更新时间:2023-09-26

我应该从函数"getNumber"中找到最小值和最大值。我需要提示用户停止,如果用户不想停止,函数"getNumber"将重复执行,直到用户要求停止。当用户决定停止时,它会从用户输入的输入中找到最大值和最小值。我可以知道如何链接这3个函数tgr来调用最大值和最低值吗?

//prompt to get number
function getNumber() {
    var myNumber;
    do {
        myNumber = Number(prompt("Enter an unsigned base 10 number:")); 
    } while (myNumber < 0) //loop will run again and again as long as the number is less than zero
    return myNumber;
}
//function to find the maximum number in the array
function myMax(myArray) {
    var max = myArray[0];
    for (var z = 0; z < myArray.length; z++) {
        if (myArray[z] > max) {
            max = myArray[z];
        }
    }
    return max;
}
//function to find the minimum number in the array
function myMin(myArray) {
var min = myArray[0];
for (var z = 0; z < myArray.length; z++) {
    if (myArray[z] > min) {
        min = myArray[z];
    }
}
return min;
}
function getMinMaxFromUsersInput(){
    // User inputted numbers
    var numbers = [];
    // Get numbers till user ask to stop
    do {
       numbers.push(getNumber());
    } while(confirm("Continue?"));
    // Return min and max
    return {
       min: myMin(numbers),
       max: myMax(numbers)
    }
}

var numbers = [];
var isStopped = false;
//prompt to get number
function getNumber() {
    var input = prompt('Enter an unsigned base 10 number or Input S/s to stop:');
    var myNumber = Number(input);
    if (input == 'S' || input == 's'){
        finish();
    }
    else if (myNumber > 0 && myNumber < 10){
        console.log("input number is: " + myNumber);
        numbers.push(myNumber);
    }
}
//function to find the maximum number in the array
function myMax(myArray) {
    var max = myArray[0];
    for (var z = 0; z < myArray.length; z++) {
        if (myArray[z] > max) {
            max = myArray[z];
        }
    }
    return max;
}
function javascript_abort()
{
    throw new Error('Programme Ends');
}
//function to find the minimum number in the array
function myMin(myArray) {
    var min = myArray[0];
    for (var z = 0; z < myArray.length; z++) {
        if (myArray[z] < min) {
            min = myArray[z];
        }
    }
    return min;
}
function finish(){
    isStopped = true;
    alert('Max:' + myMax(numbers) + ' Min:' + myMin(numbers));
}
$(document).ready(function() {
    while(!isStopped){
        getNumber();
    }
});
<html>
    <title>Title</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    <script src="app.js"></script>
</head>
<body>
</body>
</html>

是一种简单的方法

function getNumber() {
  var myNumber;
  do myNumber = prompt("Enter an unsigned base 10 number:"); 
  while (myNumber*1 < 0 && myNumber != "exit"); //loop will run again and again as long as the number is less than zero
    return myNumber;
}
function getMinMax(a){
  return [Math.min.apply(Math,a),Math.max.apply(Math,a)]
}
function doTheLoop(){
  var num = getNumber();
  num === "exit" ? alert("thanks. bye..!") : (arr.push(num*1),
                                              console.log(arr,getMinMax(arr)),
                                              doTheLoop())
}
var arr = [];
doTheLoop();

在控制台上检查结果。