flatmap vs filter+map

Benchmark created on


Test runner

Ready to run.

Testing in
TestOps/sec
flatmap
var options = [
  { name: 'One', assigned: true }, 
  { name: 'Two', assigned: false }, 
  { name: 'Three', assigned: true }, 
];

options.flatMap(option => {
	console.log(option);
	if (option.assigned) {
		return [option];
	}
	
	return [];
})

ready
filter map
var options = [
  { name: 'One', assigned: true }, 
  { name: 'Two', assigned: false }, 
  { name: 'Three', assigned: true }, 
];

options.map(option => {
	console.log(option)
	return option;	
}).filter(option => option.assigned)

ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.