tamda
Version:
Practical functional programming library for TypeScript
12 lines • 512 B
JavaScript
import { infer } from '../function/infer';
export function difference() {
return inferred.apply(undefined, arguments);
}
const inferred = infer((arrayA, arrayB, keyFn) => {
const setB = new Set(keyFn ? arrayB.map(keyFn) : arrayB);
const filterFn = keyFn
? (item, index) => !setB.has(keyFn(item, index))
: (item) => !setB.has(item);
return arrayA.filter(filterFn);
}, args => [args[0], args[1]].every(arg => arg instanceof Array));
//# sourceMappingURL=difference.js.map