Test name | Executions per second |
---|---|
lodash | 3288946.2 Ops/sec |
javascript | 5109225.0 Ops/sec |
<script>https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.core.js</script>
var data = [{a: 1}, {a: 2}, {a: 3}, {a: 4}, {a: 5}, {a: 6}, {a: 7}, {a: 8}, {a: 1}];
_.uniqBy(data, 'a');
const uniqueBy = (array, fieldName) => {
const uniqueArr = [];
const addedFields = {};
array.forEach((el) => {
if (addedFields[fieldName]) {
return;
}
addedFields[el[fieldName]] = true;
uniqueArr.push(el);
})
return uniqueArr;
}
uniqueBy(data, 'a')