UNPKG

@n3okill/utils

Version:
20 lines 668 B
"use strict"; 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