Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Javascript: reduce VS for with Math.max
Compare the "reduce" method with "for" iteration and "for-of" iteration. We try to find the maximum value in a list of number. I also added Math.max with the spread operator.
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
Browser:
Safari 17
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Number 1: use for iterator
397949.8 Ops/sec
Number 2: use for-of iterator
10689301.0 Ops/sec
Number 3: use reduce
485417.9 Ops/sec
Number 3: Math.max with spread
4973738.5 Ops/sec
Script Preparation code:
var list = [261,237,169,165,20,351,108,491,480,465,453,306,280,244,210,391,60,419,391,164,303,31,370,359,208,313,383,219,256,192,314,198,337,198,416,157,462,183,309,193,192,262,244,421,45,204,287,426,239,214];
Tests:
Number 1: use for iterator
let largest = -1; for (let i = 0; i < list.length; i++) { if (list[i] > largest) { largest = list[i]; } }
Number 2: use for-of iterator
let largest = -1; for (const item of list) { if (item > largest) { largest = item; } }
Number 3: use reduce
const largest = list.reduce((a,b) => Math.max(a, b));
Number 3: Math.max with spread
const largest = Math.max(...list);