Files
hudozka/src/lib/array.js
T
2019-08-01 14:39:10 +03:00

27 lines
511 B
JavaScript

export function splitBy(fn) {
return items => {
return items.reduce((acc, item) => {
const key = fn(item)
const items = acc.get(key) || []
return acc.set(key, [...items, item])
}, new Map())
}
}
export function head(list) {
return Array.isArray(list) && list.length
? list[0]
: null
}
export function last(list) {
return Array.isArray(list) && list.length
? list[list.length - 1]
: null
}
// exports.splitBy = splitBy
// exports.head = head
// exports.last = last