Unique values in a nested array

Benchmark created on


Preparation HTML

<script>
function reduceSpreadUnique(arr) {
	return [...new Set(arr.reduce((acc, item) => [...acc, ...item.value], []))]
}
function mapUnique(arr) {
	return Array.from(new Set(arr.map(item => item.value).flat(1)))
}
function map2Unique(arr) {
	return [...new Set(arr.map(item => item.value).flat(1))]
}

const arr = [];
</script>

Setup

for(let i=0; i<10;i++){
	arr.push({
		value: new Array(15).fill(0).map((_, i)=> parseInt(i+Math.random()*1000))
	})
}

Test runner

Ready to run.

Testing in
TestOps/sec
Reduce with spread
reduceSpreadUnique(arr)
ready
Map
mapUnique(arr)
ready
map2Unique
map2Unique(arr)
ready

Revisions

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