You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
raqb/src/unique-by-predicate.js

16 lines
247 B
JavaScript

"use strict";
module.exports = function uniqueByPredicate(items, predicate) {
let seen = new Set();
return items.filter((item) => {
let key = predicate(item);
if (seen.has(key)) {
return false;
} else {
return true;
}
});
};