Return highest and lowest number in a string of numbers with spaces
13,251
Solution 1
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"))
Solution 2
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());
Solution 3
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"
Author by
Marco V
WordPress developer with experience in JS, PHP, jQuery, SASS and AngularJS
Updated on June 04, 2022Comments
-
Marco V almost 2 years
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:
highestAndLowest("1 2 3 4 5"); // return "5 1"
I would like the both numbers to be returned in a string. The lowest number first followed by a space then the highest number.
Here is what I have so far:
function myFunction(str) { var tst = str.split(" "); return tst.max(); }