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