Return highest and lowest number in a string of numbers with spaces

后端 未结 4 1871
伪装坚强ぢ
伪装坚强ぢ 2021-01-03 14:14

Let\'s say I have a string of numbers separated by spaces and I want to return the highest and lowest number. How could that best be done in JS using a function? Example:

相关标签:
4条回答
  • 2021-01-03 14:28
    function highAndLow(numbers){
      var temp = numbers.split(' ');
      temp.sort(function(a,b){return a-b; });
      return  temp[temp.length-1] + ' ' + temp[0];
    }
    

    did a little differently: first split into an array, then sorted ... and returned the last (maximum) element with the first (minimum) element

    0 讨论(0)
  • 2021-01-03 14:43

    OK, let's see how we can make a short function using ES6...

    You have this string-number:

    const num = "1 2 3 4 5";
    

    and you create a function like this in ES6:

    const highestAndLowest = nums => {
      nums = nums.split(" ");
      return `${Math.max(...nums)} ${Math.min(...nums)}`;
    }
    

    and use it like this:

    highestAndLowest("1 2 3 4 5"); //return "5 1"
    
    0 讨论(0)
  • 2021-01-03 14:46

    You can use Math.min and Math.max, and use them in an array to return the result, try:

    function highestAndLowest(numbers){
      numbers = numbers.split(" ");
      return Math.max.apply(null, numbers) + " " +  Math.min.apply(null, numbers)
    }
    
    document.write(highestAndLowest("1 2 3 4 5"))

    0 讨论(0)
  • 2021-01-03 14:50

    Below is a code that improves the solution and facilitates global use:

    /* Improve the prototype of Array. */
    
    // Max function.
    Array.prototype.max = function() {
      return Math.max.apply(null, this);
    };
    
    // Min function.
    Array.prototype.min = function() {
      return Math.min.apply(null, this);
    };
    
    var stringNumbers = "1 2 3 4 5";
    
    // Convert to array with the numbers.
    var arrayNumbers = stringNumbers.split(" ");
    
    // Show the highest and lowest numbers.
    alert("Highest number: " + arrayNumbers.max() + "\n Lowest number: " + arrayNumbers.min());

    0 讨论(0)
提交回复
热议问题