Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Chrome 123
Mac OS X 10.15.7
Desktop
9 months ago
Test name Executions per second
flatMap 4040.3 Ops/sec
reduce with push 15095.1 Ops/sec
Script Preparation code:
AخA
 
var arr = Array.from({length:10000}, (v, i) => ({name: i, assigned: Math.random() < 0.5}));
Tests:
  • flatMap

     
    arr.flatMap((o) => (o.assigned ? [o.name] : []));
  • reduce with push

     
    arr.reduce((a, o) => (o.assigned && a.push(o.name), a), [])