moy-fp
Version:
A functional programming library.
23 lines (20 loc) • 419 B
JavaScript
import curry from '../Function/curry'
/**
* (a -> String) -> [a] -> [a] -> [a]
*/
const differenceBy = curry(
(fn, list2, list1) => {
const differenceObj = {},
result = []
for(let item of list2){
differenceObj[fn(item)] = true
}
for(let item of list1){
if(!differenceObj[fn(item)]){
result.push(item)
}
}
return result
}
)
export default differenceBy