三种找出数组中最大值与最小值

301 阅读1分钟

1.使用for循环,

求最大值

我们先要定义一个数组arr,

 var arr = [15, 27, 20, 35, 23, 16, 5, 17, 88, 23, 13, 36, 14, 12]

然后封装一个函数getMaxNumber, 首先需要先定义一个最大值Max.

 let max = arr[0]

接下来把数组arr进行循环,判断 如果最大值Max小于数组arr[i]的值就让Max=arr[i], 最后返回Max,输出getMaxNumber(arr)结果为88.

   function getMaxNumber(arr) {
            let max = arr[0]
            for (let i = 1; i < arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i]
                }
            }
            return max
        }
       console.log(getMaxNumber(arr));

求最小值

    function getMinNumber(arr) {
            let min = arr[0]
            for (let i = 1; i < arr.length; i++) {
                if (arr[i] < min) {
                    min = arr[i]
                }
            }
            return min
        }
        console.log(getMinNumber(arr));

2.使用sort

求最大值

 function Max(num) {   //定义Max函数
            let sortMax = num.sort((x, y) => {   
                return y - x    //y-x是从大到小排序 
            })
            return sortMax[0]  //返回下标0的最大值
        }
        console.log(Max(arr)); //88

求最小值

     function Min(num) {  //定义Min函数
            let sortMin = num.sort((x, y) => {
                return x - y  //x-y是从小到大
            })
            return sortMin[0]  //返回下标0的最小值
        }
        console.log(Min(arr)); //5

3.使用Math.max()和Math.min()

Math.max()函数返回给定的一组数中的最大值。 它的语法:Math.max(value1[, value2, ...]) 使用此方法,需要注意,如果没有参数的话,则返回-Infinity。如果有任一参数无法被转换成数值,则返回NaN

    let a = Math.max(...arr)
    
     console.log(a);
     
    let b = Math.min(...arr)
    
     console.log(b);