Javascript max() function for 3 numbers

前端 未结 5 2194
一整个雨季
一整个雨季 2020-12-09 07:40

I need to find the highest number from 3 different numbers. The only thing I\'ve found is max() but you can only use 2 numbers.

Whats the best way?

相关标签:
5条回答
  • 2020-12-09 08:03

    The Math.max function can accept any arbitrary number of arguments:

    Syntax:

    Math.max([value1[,value2[, ...]]]) 
    

    Usage:

    var max = Math.max(num1, num2, num3);
    

    For example:

    console.log(Math.max(1,2,3,4,5,6)); //  6
    

    You could even use it to get the maximum value of an array of numbers with the help of apply:

    function maxOfArray(array) {
      return Math.max.apply(Math, array);
    }
    
    
    let array = [1,2,3,4,5,6];
    console.log(maxOfArray(array)); // 6

    If you can target ES6 (ES2015), you can also use the spread operator:

    let array = [1,2,3,4,5,6];
    let max = Math.max(...array);
    console.log(max); // 6

    0 讨论(0)
  • 2020-12-09 08:03

    Push your values into an array arr and use Math.min.apply(null, arr) or Math.max.apply(null, arr) for maximum and minimum values respectively:

    var arr = [];
    arr.push(value1);
    arr.push(value2);
    arr.push(value3);
    
    var minValue = Math.min.apply(null, arr);
    var maxValue = Math.max.apply(null, arr);
    
    0 讨论(0)
  • 2020-12-09 08:03

    Using with the new spread operator

    var num = [23,34,56,72,1,22]; 
    Math.max(...num)
    

    for more info

    0 讨论(0)
  • 2020-12-09 08:05

    In almost any language, one can use max twice:

    Math.max(num1, Math.max(num2, num3))
    

    As @CMS points out, JavaScript specifically allows an arbitrary number of parameters to Math.max:

    Math.max(num1, num2, num3);
    
    0 讨论(0)
  • 2020-12-09 08:10
     var numbers = [2,3,1];
     numbers.sort(function(a,b){return b-a});
     console.log("max number is", numbers[0]); // max number is 3
    
    0 讨论(0)
提交回复
热议问题