@n3okill/utils
Version:
Many javascript helpers
20 lines • 668 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.uniqueFilter = uniqueFilter;
const is_1 = require("../type/is");
/**
* Returns a reduced array based on given comparator (if none given, will use `Type.is`)
* @param arr Array to be reduced
* @param comparator comparator function to use `(arg1, arg2)=>boolean`
* @returns
*/
function uniqueFilter(arr, comparator = is_1.is) {
return arr.reduce((prev, curr) => {
const a = prev.filter((itemPrev) => comparator(curr, itemPrev));
if (!a.length) {
prev.push(curr);
}
return prev;
}, []);
}
//# sourceMappingURL=uniqueFilter.js.map
;