Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Chrome 92
Windows
Desktop
3 years ago
Test name Executions per second
Math.max 54659.9 Ops/sec
Reduce 40338.4 Ops/sec
for element of array 89900.6 Ops/sec
Script Preparation code:
x
 
var values = new Array(5000);
for (let i = 0; i < values.length; ++i) {
    values[i] = i % 20;
}
Tests:
  • Math.max

     
    return Math.max(...values);
  • Reduce

     
    return values.reduce((prev, curr) => {
      if (curr > prev) return curr;
      return prev;
    }, 0);
  • for element of array

     
    let biggest = values[0];
    for (let value of values) {
      if (value > biggest) biggest = value;
    };
    return biggest;