Test name | Executions per second |
---|---|
using reduce function | 324955.9 Ops/sec |
using filter function | 6743032.5 Ops/sec |
const combined = [
{oclcNumber: 1},
{oclcNumber: 2},
{oclcNumber: 3},
{oclcNumber: 4},
{oclcNumber: 5},
{oclcNumber: 6},
{oclcNumber: 7},
{oclcNumber: 8},
{oclcNumber: 9},
{oclcNumber: 10},
{oclcNumber: 2},
]
const combined = [
{oclcNumber: 1},
{oclcNumber: 2},
{oclcNumber: 3},
{oclcNumber: 4},
{oclcNumber: 5},
{oclcNumber: 6},
{oclcNumber: 7},
{oclcNumber: 8},
{oclcNumber: 9},
{oclcNumber: 10},
{oclcNumber: 2},
]
combined.reduce((acc, current) => {
return (acc.find(record => record.oclcNumber === current.oclcNumber) ? acc : acc.concat(current))
}, [])
const combined = [
{oclcNumber: 1},
{oclcNumber: 2},
{oclcNumber: 3},
{oclcNumber: 4},
{oclcNumber: 5},
{oclcNumber: 6},
{oclcNumber: 7},
{oclcNumber: 8},
{oclcNumber: 9},
{oclcNumber: 10},
{oclcNumber: 2},
]
combined.filter((current, i, arr) => {
return arr.findIndex(record => (record.oclcNumber === current.oclcNumber)) === i
})