Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Flatmap vs reduce bydget 2.0
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0
Browser:
Firefox 134
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Flatmap
1440969.8 Ops/sec
Reduce
941139.6 Ops/sec
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
var productData = { "name": "JX JAMIE BREEZE SUMMER LS SHIRT WVN SN", "masters": [{ "name": "Racing Red", "selectable": true, "variants": [{ "id": "V_5700679778595", "size": "S", "length": null, "isSelected": false }, { "id": "V_5702804507390", "size": "M", "length": null, "isSelected": true }, { "id": "V_5702804507406", "size": "XL", "length": null, "isSelected": false }, { "id": "V_5702804507451", "size": "XXL", "length": null, "isSelected": false }] }, { "name": "Morning Glory", "selectable": true, "variants": [{ "id": "V_5702804507420", "size": "S", "length": null, "isSelected": true }, { "id": "V_5702804507444", "size": "L", "length": null, "isSelected": true }, { "id": "V_5702804507468", "size": "XL", "length": null, "isSelected": true }, { "id": "V_5702804534235", "size": "XXL", "length": null, "isSelected": true }] }, { "name": "Peacoat", "selectable": false, "variants": [{ "id": "V_4582804507420", "size": "S", "length": null, "isSelected": false }, { "id": "V_5252804507437", "size": "M", "length": null, "isSelected": false }, { "id": "V_3582804507444", "size": "L", "length": null, "isSelected": false }, { "id": "V_9522804507468", "size": "XL", "length": null, "isSelected": false }, { "id": "V_6452804534235", "size": "XXL", "length": null, "isSelected": false }] }] }
Tests:
Flatmap
Array.from(new Set(productData.masters.flatMap((master) => master.variants.flatMap((size) => size.size))));
Reduce
Array.from(new Set( productData.masters.reduce((acc, master) => { const sizes = master.variants.reduce((variantAcc, variant) => { return [...variantAcc, variant.size]; }, []); return [...acc, ...sizes]; }, []), ))