How can I easily obtain the min or max element of a JavaScript array?

How can I easily obtain the min or max element of a JavaScript array?

For example, given the following pseudocode:

let array = [100, 0, 50];
array.min(); //=> 0
array.max(); //=> 100

I want to know how to achieve this using JavaScript array max methods.

You can easily obtain the minimum and maximum elements of a JavaScript array using the Math.min() and Math.max() functions along with the spread operator. Here’s how you can do it:

let array = [100, 0, 50];
let minValue = Math.min(...array); // Getting the minimum value
let maxValue = Math.max(...array); // Getting the maximum value
console.log(minValue); //=> 0
console.log(maxValue); //=> 100

This is a straightforward way to use JavaScript array max methods.

If you’re working with an array of objects and want to find the min or max based on a specific property, you can use the reduce() method along with Math.min() and Math.max().

Here’s an example:


let array = [{ value: 100 }, { value: 0 }, { value: 50 }];
let minValue = array.reduce((min, obj) => Math.min(min, obj.value), Infinity);
let maxValue = array.reduce((max, obj) => Math.max(max, obj.value), -Infinity);
console.log(minValue); //=> 0
console.log(maxValue); //=> 100

This method demonstrates how to find min and max values in a more complex data structure using JavaScript array max techniques.

For more complex scenarios, such as when you need to find the min or max values based on custom logic, you can use the sort() method and then access the first and last elements. Here’s an example:

let array = [100, 0, 50];
let sortedArray = array.sort((a, b) => a - b);
let minValue = sortedArray[0]; // Minimum value
let maxValue = sortedArray[sortedArray.length - 1]; // Maximum value
console.log(minValue); //=> 0
console.log(maxValue); //=> 100

This approach provides another way to utilize JavaScript array max methods while also allowing for custom sorting logic.